Sortable Widgetversion added: 1.0
Description: 使用鼠标调整列表中或者网格中元素的排序。
jQuery UI 可排序(Sortable)插件让被被选择的元素通过鼠标拖拽进行排序。
注意:为了排序表格中的行,tbody元素必须作为sortable(可排序元素),而不是在table。
Dependencies
Options
appendToType: jQuery or Element or Selector or String
"parent"
- jQuery: 一个 jQuery 对象,包含辅助(helper)元素要追加到的元素。
- Element: 要被追加辅助(helper)元素的元素。
- Selector: 一个选择器,指定哪个元素要追加辅助(helper)元素。
-
String:字符串
"parent"将促使助手(helper)成为 sortable 项目的同级。
使用指定的 appendTo 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 appendTo 参数:
|
1
2
3
4
5
6
|
|
axisType: String
false
"x", "y"。使用指定的 axis 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 axis 参数:
|
1
2
3
4
5
6
|
|
cancelType: Selector
"input,textarea,button,select,option"
使用指定的 cancel 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 cancel 参数:
|
1
2
3
4
5
6
|
|
connectWithType: Selector
false
connectWith 选项。
使用指定的 connectWith 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 connectWith 参数:
|
1
2
3
4
5
6
|
|
containmentType: Element or Selector or String
false
定义一个边界,限制拖动范围在指定的DOM元素内。
注意:为限制拖动范围,指定的元素必须有一个可计算的宽度和高度(但不一定是显式的)。例如,如果你的sortable元素的子元素有float: left样式,并且指定containment: "parent",那么sortable/parent容器必须要有float: left样式,或者他将有height: 0样式,导致不确定的行为。
- Element: 一个用来作为容器的元素。
- Selector:一个选择器指定的元素,这个元素用来作为容器
-
String: 一个字符串指定的元素,这个元素用来作为容器。可能的值:
"parent","document","window"。
使用指定的 containment 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 containment 参数:
|
1
2
3
4
5
6
|
|
cursorType: String
"auto"
使用指定的 cursor 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 cursor 参数:
|
1
2
3
4
5
6
|
|
cursorAtType: Object
false
{ top, left, right, bottom }。使用指定的 cursorAt 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 cursorAt 参数:
|
1
2
3
4
5
6
|
|
delayType: Integer
0
使用指定的 delay 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 delay 参数:
|
1
2
3
4
5
6
|
|
disabledType: Boolean
false
true,将禁用sortable。使用指定的 disabled 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 disabled 参数:
|
1
2
3
4
5
6
|
|
distanceType: Number
1
使用指定的 distance 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 distance 参数:
|
1
2
3
4
5
6
|
|
dropOnEmptyType: Boolean
true
false,这个sortable中项不能拖动到一个空的sortable中。(查看connectWith 选项.使用指定的 dropOnEmpty 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 dropOnEmpty 参数:
|
1
2
3
4
5
6
|
|
forceHelperSizeType: Boolean
false
true, 强迫辅助元素(helper)有一个尺寸大小。使用指定的 forceHelperSize 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 forceHelperSize 参数:
|
1
2
3
4
5
6
|
|
forcePlaceholderSizeType: Boolean
false
true, 强迫占位符(placeholder)有一个尺寸大小。使用指定的 forcePlaceholderSize 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 forcePlaceholderSize 参数:
|
1
2
3
4
5
6
|
|
gridType: Array
false
[ x, y ]。使用指定的 grid 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 grid 参数:
|
1
2
3
4
5
6
|
|
handleType: Selector or Element
false
使用指定的 handle 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 handle 参数:
|
1
2
3
4
5
6
|
|
helperType: String or Function()
"original"
-
String:如果设置为
"clone",那么这个元素将被克隆,并且克隆出来的元素将被拖动。 - Function: 一个函数,将返回拖拽时要使用的 DOMElement。函数接收事件,且元素正被排序。
使用指定的 helper 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 helper 参数:
|
1
2
3
4
5
6
|
|
itemsType: Selector
"> *"
使用指定的 items 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 items 参数:
|
1
2
3
4
5
6
|
|
opacityType: Number
false
0.01 到 1。使用指定的 opacity 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 opacity 参数:
|
1
2
3
4
5
6
|
|
placeholderType: String
false
使用指定的 placeholder 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 placeholder 参数:
|
1
2
3
4
5
6
|
|
revertType: Boolean or Number
false
-
Boolean:当设置为
true,该项目将会使用动画,动画使用默认的持续时间。 - Number: 动画的持续时间,以毫秒计。
使用指定的 revert 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 revert 参数:
|
1
2
3
4
5
6
|
|
scrollType: Boolean
true
true,当到达边缘时页面会滚动。使用指定的 scroll 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 scroll 参数:
|
1
2
3
4
5
6
|
|
scrollSensitivityType: Number
20
使用指定的 scrollSensitivity 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 scrollSensitivity 参数:
|
1
2
3
4
5
6
|
|
scrollSpeedType: Number
20
scrollSensitivity 距离内时,窗体滚动的速度。如果 scroll 选项是 false 则忽略。使用指定的 scrollSpeed 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 scrollSpeed 参数:
|
1
2
3
4
5
6
|
|
toleranceType: String
"intersect"
"intersect":项目至少 50% 重叠在其他项目上。"pointer":鼠标指针重叠在其他项目上。
使用指定的 tolerance 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 tolerance 参数:
|
1
2
3
4
5
6
|
|
zIndexType: Integer
1000
使用指定的 zIndex 参数初始化 sortable :
|
1
|
|
在初始化后设置或者获取 zIndex 参数:
|
1
2
3
4
5
6
|
|
Methods
cancel()
- 该方法不接受任何参数。
调用 cancel 方法:
|
1
|
|
destroy()
- 该方法不接受任何参数。
调用 destroy 方法:
|
1
|
|
disable()
- 该方法不接受任何参数。
调用 disable 方法:
|
1
|
|
enable()
- 该方法不接受任何参数。
调用 enable 方法:
|
1
|
|
option( optionName )Returns: Object
optionName 关联的值。-
optionNameType: String要获取值的选项的名称。
调用该方法:
|
1
|
|
option()Returns: PlainObject
- 该方法不接受任何参数。
调用该方法:
|
1
|
|
option( optionName, value )
optionName 关联的 sortable 选项的值。调用该方法:
|
1
|
|
option( options )
-
optionsType: Object要设置的 option-value 对。
调用该方法:
|
1
|
|
refresh()
- 该方法不接受任何参数。
调用 refresh 方法:
|
1
|
|
refreshPositions()
- 该方法不接受任何参数。
调用 refreshPositions 方法:
|
1
|
|
serialize( options )Returns: String
序列化 sortable 的项目 id 为一个 form/ajax 可提交的字符串。调用该方法会产生一个可被追加到任何 url 中的哈希,以便简单地把一个新的项目顺序提交回服务器。
默认情况下,它通过每个项目的 id 进行工作,id 格式为 "setname_number",且它会产生一个形如 "setname[]=number&setname[]=number" 的哈希。
注释:如果序列化返回一个空的字符串,请确认 id 属性包含一个下划线(_)。形式必须是 "set_number"。例如,一个 id 属性为 "foo_1"、"foo_5"、"foo_2" 的 3 元素列表将序列化为 "foo[]=1&foo[]=5&foo[]=2"。您可以使用下划线(_)、等号(=)或连字符(-)来分隔集合和数字。例如,"foo=1"、"foo-1"、"foo_1" 所有都序列化为 "foo[]=1"。
-
optionsType: Object要自定义序列化的选项。
- key(默认值:
属性中分隔符前面的部分)
类型:String
描述:把part1[]替换为指定的值。 - attribute(默认值:
"id")
类型:String
描述:值要使用的属性名称。 - expression(默认值:
/(.+)[-=_](.+)/)
类型:RegExp
描述:用于把属性值分隔为键和值两部分的正则表达式。
- key(默认值:
调用 serialize 方法:
|
1
|
|
widget()Returns: jQuery
jQuery 对象。
- 该方法不接受任何参数。
调用 widget 方法:
|
1
|
|
Events
activate( event, ui )Type: sortactivate
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 activate 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortactivate 事件:
|
1
|
|
beforeStop( event, ui )Type: sortbeforestop
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 beforeStop 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortbeforestop 事件:
|
1
|
|
change( event, ui )Type: sortchange
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 change 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortchange 事件:
|
1
|
|
create( event, ui )Type: sortcreate
注意:ui 对象是空的,这里包含它是为了与其他事件保持一致性。
使用指定的 create 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortcreate 事件:
|
1
|
|
deactivate( event, ui )Type: sortdeactivate
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 deactivate 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortdeactivate 事件:
|
1
|
|
out( event, ui )Type: sortout
当一个 sortable 项目从一个 sortable 列表移除时触发该事件。
Note: 当一个 sortable 项目被撤销时也会触发该事件。
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 out 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortout 事件:
|
1
|
|
over( event, ui )Type: sortover
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 over 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortover 事件:
|
1
|
|
receive( event, ui )Type: sortreceive
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 receive 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortreceive 事件:
|
1
|
|
remove( event, ui )Type: sortremove
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 remove 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortremove 事件:
|
1
|
|
sort( event, ui )Type: sort
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 sort 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sort 事件:
|
1
|
|
start( event, ui )Type: sortstart
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 start 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortstart 事件:
|
1
|
|
stop( event, ui )Type: sortstop
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 stop 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortstop 事件:
|
1
|
|
update( event, ui )Type: sortupdate
-
eventType: Event
-
uiType: Object
-
helperType: jQueryjQuery 对象,表示被排序的助手(helper)。
-
itemType: jQueryjQuery 对象,表示当前被拖拽的元素。
-
offsetType: Object助手(helper)的当前的绝对位置,表示为
{ top, left }。 -
positionType: Object助手(helper)的当前位置,表示为
{ top, left }. -
originalPositionType: Object元素的原始位置,表示为
{ top, left }. -
senderType: jQuery如果从一个 sortable 移动到另一个 sortable,项目来自的那个
-
placeholderType: jQueryjQuery 对象,表示被作为占位符使用的元素。
-
使用指定的 update 回调的 sortable:
|
1
2
3
|
|
绑定一个事件监听器到 sortupdate 事件:
|
1
|
|
Example:
A simple jQuery UI Sortable.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
|