可排序小部件添加版本:1.0
说明:使用鼠标重新排列列表或网格中的元素。
jQuery UI Sortable 插件通过鼠标拖动使选定的元素可排序。
注意:为了对表格行进行排序,必须使 tbody
可排序,而不是 table
。
主题
可排序小部件使用 jQuery UI CSS 框架 来设置其外观和风格。如果需要可排序的特定样式,可以使用以下 CSS 类名称进行覆盖或作为 classes
选项 的键
-
ui-sortable
:可排序元素。-
ui-sortable-handle
:每个可排序项的句柄,使用handle
选项 指定。默认情况下,每个可排序项本身也是句柄。 -
ui-sortable-placeholder
:用于显示当前正在排序的项的未来位置的元素。
-
-
ui-sortable-helper
:拖动可排序项时显示的元素。实际使用的元素取决于helper
选项。
依赖项
选项
appendTo
"parent"
- jQuery:包含要将帮助器附加到的元素的 jQuery 对象。
- 元素:要将帮助器附加到的元素。
- 选择器:指定要将帮助器附加到的元素的选择器。
-
字符串:字符串
"parent"
将导致帮助器成为可排序项的同级元素。
使用指定的 appendTo
选项初始化可排序项
1
2
3
|
|
在初始化后获取或设置 appendTo
选项
1
2
3
4
5
|
|
axis
false
"x"
、"y"
。使用指定的 axis
选项初始化可排序项
1
2
3
|
|
在初始化后获取或设置 axis
选项
1
2
3
4
5
|
|
cancel
"input,textarea,button,select,option"
使用指定的 cancel
选项初始化可排序项
1
2
3
|
|
在初始化后获取或设置 cancel
选项
1
2
3
4
5
|
|
classes
{}
指定要添加到部件元素的其他类。可以在 主题部分 中指定的任何类都可以用作键来覆盖其值。要详细了解此选项,请查看有关 classes
选项的学习文章。
使用指定的 classes
选项初始化可排序项,更改 ui-sortable
类的主题
1
2
3
4
5
|
|
在初始化后获取或设置 classes
选项的属性,此处读取和更改 ui-sortable
类的主题
1
2
3
4
5
|
|
connectWith
false
connectWith
选项。使用指定的 connectWith
选项初始化可排序项
1
2
3
|
|
初始化后,获取或设置 connectWith
选项
1
2
3
4
5
|
|
containment
false
定义可排序项目在拖动时受限的边界框。
注意:为 containment 指定的元素必须具有已计算的宽度和高度(尽管不必明确)。例如,如果您有 float: left
可排序子项并指定 containment: "parent"
,请确保可排序/父容器上也有 float: left
,否则它将具有 height: 0
,从而导致未定义的行为。
- 元素:用作容器的元素。
- 选择器:指定用作容器的元素的选择器。
-
字符串:标识用作容器的元素的字符串。可能的值:
"parent"
、"document"
、"window"
。
使用指定的 containment
选项初始化可排序项
1
2
3
|
|
初始化后,获取或设置 containment
选项
1
2
3
4
5
|
|
cursor
"auto"
使用指定的 cursor
选项初始化可排序项
1
2
3
|
|
初始化后,获取或设置 cursor
选项
1
2
3
4
5
|
|
cursorAt
false
{ top, left, right, bottom }
。使用指定的 cursorAt
选项初始化可排序项
1
2
3
|
|
初始化后,获取或设置 cursorAt
选项
1
2
3
4
5
|
|
delay
0
使用指定的 delay
选项初始化可排序项
1
2
3
|
|
初始化后,获取或设置 delay
选项
1
2
3
4
5
|
|
disabled
false
true
,则禁用可排序性。使用指定的 disabled
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 disabled
选项
1
2
3
4
5
|
|
distance
1
使用指定的 distance
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 distance
选项
1
2
3
4
5
|
|
dropOnEmpty
true
false
,则无法将此可排序项中的项放到空的连接可排序项中(请参阅connectWith
选项)。使用指定的 dropOnEmpty
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 dropOnEmpty
选项
1
2
3
4
5
|
|
forceHelperSize
false
true
,则强制助手具有大小。使用指定的 forceHelperSize
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 forceHelperSize
选项
1
2
3
4
5
|
|
forcePlaceholderSize
false
使用指定的 forcePlaceholderSize
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 forcePlaceholderSize
选项
1
2
3
4
5
|
|
grid
false
[ x, y ]
。使用指定的 grid
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 grid
选项
1
2
3
4
5
|
|
handle
false
使用指定的 handle
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置 handle
选项
1
2
3
4
5
|
|
helper
"original"
-
字符串:如果设置为
"clone"
,则元素将被克隆,克隆将被拖动。 - 函数:必须返回一个 jQuery 或 DOMElement 以在拖动时使用。该函数接收事件和正在排序的 jQuery 元素。
使用指定的 helper
选项初始化可排序性
1
2
3
|
|
在初始化后获取或设置helper
选项
1
2
3
4
5
|
|
项目
"> *"
使用指定的items
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置items
选项
1
2
3
4
5
|
|
不透明度
false
0.01
到1
。使用指定的opacity
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置opacity
选项
1
2
3
4
5
|
|
占位符
false
使用指定的placeholder
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置placeholder
选项
1
2
3
4
5
|
|
还原
false
-
布尔值:设置为
true
时,项目将使用默认持续时间进行动画。 - 数字:动画的持续时间(以毫秒为单位)。
使用指定的revert
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置revert
选项
1
2
3
4
5
|
|
滚动
true
使用指定的scroll
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置scroll
选项
1
2
3
4
5
|
|
滚动灵敏度
20
使用指定的scrollSensitivity
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置scrollSensitivity
选项
1
2
3
4
5
|
|
滚动速度
20
scrollSensitivity
距离内,窗口应滚动的速度。使用指定的scrollSpeed
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置scrollSpeed
选项
1
2
3
4
5
|
|
容差
"intersect"
-
"intersect"
:项目至少与另一个项目重叠 50%。 -
"pointer"
:鼠标指针与另一个项目重叠。
使用指定的tolerance
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置tolerance
选项
1
2
3
4
5
|
|
z 轴索引
1000
使用指定的zIndex
选项初始化可排序功能
1
2
3
|
|
在初始化后获取或设置 zIndex
选项
1
2
3
4
5
|
|
方法
instance()返回:对象
检索可排序项的实例对象。如果元素没有关联的实例,则返回 undefined
。
与其他小组件方法不同,在可排序插件加载后,可以在任何元素上安全地调用 instance()
。
- 此方法不接受任何参数。
调用实例方法
1
|
|
option( optionName )返回:对象
获取当前与指定 optionName
关联的值。
注意:对于以对象作为其值的对象,你可以使用点符号来获取特定键的值。例如,"foo.bar"
将获取 foo
选项上 bar
属性的值。
-
optionName类型:字符串要获取的选项的名称。
调用方法
1
|
|
option()返回:普通对象
- 此签名不接受任何参数。
调用方法
1
|
|
serialize( options )返回:字符串
将可排序项的 id
序列化为表单/ajax 可提交的字符串。调用此方法会生成一个哈希,可以将其追加到任何 url,以便轻松地将新项顺序提交回服务器。
默认情况下,它通过查看格式为 "setname_number"
的每个项的 id
来工作,并输出类似 "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"
。
-
选项类型:对象自定义序列化的选项。
调用序列化方法
1
|
|
widget()返回:jQuery
jQuery
对象。
- 此方法不接受任何参数。
调用 widget 方法
1
|
|
事件
activate( event, ui )类型:sortactivate
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 activate 回调初始化可排序项
1
2
3
|
|
将事件侦听器绑定到 sortactivate 事件
1
|
|
beforeStop( event, ui )类型:sortbeforestop
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 beforeStop 回调初始化可排序项
1
2
3
|
|
将事件侦听器绑定到 sortbeforestop 事件
1
|
|
change( event, ui )类型:sortchange
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 change 回调初始化可排序项
1
2
3
|
|
将事件侦听器绑定到 sortchange 事件
1
|
|
create( event, ui )类型:sortcreate
注意:ui
对象为空,但为了与其他事件保持一致而包含在内。
使用指定的创建回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortcreate 事件
1
|
|
deactivate( event, ui )类型:sortdeactivate
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的停用回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortdeactivate 事件
1
|
|
out( event, ui )类型:sortout
当可排序项从可排序列表移出时触发此事件。
注意:当可排序项被放下时也会触发此事件。
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 out 回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortout 事件
1
|
|
over( event, ui )类型:sortover
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 over 回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortover 事件
1
|
|
receive( event, ui )类型:sortreceive
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 receive 回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortreceive 事件
1
|
|
remove( event, ui )类型:sortremove
使用指定的 remove 回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sortremove 事件
1
|
|
sort( event, ui )类型:sort
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 sort 回调初始化可排序元素
1
2
3
|
|
将事件侦听器绑定到 sort 事件
1
|
|
start( event, ui )类型:sortstart
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 start 回调初始化可排序元素
1
2
3
|
|
绑定一个事件监听器到 sortstart 事件
1
|
|
stop( event, ui )类型:sortstop
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 stop 回调初始化可排序元素
1
2
3
|
|
绑定一个事件监听器到 sortstop 事件
1
|
|
update( event, ui )类型:sortupdate
-
event类型:Event
-
ui类型:对象
-
helper类型:jQuery表示正在排序的帮助器的 jQuery 对象。
-
item类型:jQuery表示当前拖动元素的 jQuery 对象。
-
offset类型:对象帮助器的当前绝对位置,表示为
{ top, left }
。 -
position类型:对象帮助器的当前位置,表示为
{ top, left }
。 -
originalPosition类型:对象元素的原始位置,表示为
{ top, left }
。 -
sender类型:jQuery如果从一个可排序项移动到另一个可排序项,则表示该项的来源的可排序项。
-
placeholder类型:jQuery表示用作占位符的元素的 jQuery 对象。
-
使用指定的 update 回调初始化可排序元素
1
2
3
|
|
绑定一个事件监听器到 sortupdate 事件
1
|
|
示例
一个简单的 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
|
|