可拖动小组件添加版本:1.0
描述:允许使用鼠标移动元素。
通过鼠标使选定元素可拖动。如果你想要的不只是拖动,而是拖放,请参阅jQuery UI Droppable 插件,它为可拖动元素提供了一个放置目标。
主题
可拖动小组件使用jQuery UI CSS 框架来设置其外观和风格。如果需要可拖动特定样式,可以使用以下 CSS 类名称进行覆盖或作为classes
选项的键
-
ui-draggable
:可拖动元素。当可拖动元素被禁用时,将添加ui-draggable-disabled
类。在拖动时,将添加ui-draggable-dragging
类。 -
ui-draggable-handle
:可拖动的句柄,使用handle
选项 指定。默认情况下,可拖动元素本身也是句柄。
依赖项
选项
addClasses
true
false
,将阻止添加 ui-draggable
类。在对数百个元素调用 .draggable()
时,这可能是一种性能优化。使用指定的 addClasses
选项初始化可拖动
1
2
3
|
|
在初始化后获取或设置 addClasses
选项
1
2
3
4
5
|
|
appendTo
"parent"
拖动时应将可拖动帮助器附加到的元素。
helper
选项设置为不使用原始元素时,appendTo
选项才有效。- 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-draggable
类的主题
1
2
3
4
5
|
|
在初始化之后获取或设置 classes
选项的属性,此处读取并更改 ui-draggable
类的主题
1
2
3
4
5
|
|
connectToSortable
false
helper
选项必须设置为 "clone"
才能完美工作。需要包含 jQuery UI Sortable 插件。使用指定的 connectToSortable
选项初始化可拖动元素
1
2
3
|
|
在初始化之后获取或设置 connectToSortable
选项
1
2
3
4
5
|
|
containment
false
- 选择器:可拖动元素将被包含在选择器找到的第一个元素的边界框中。如果找不到元素,则不会设置任何限制。
- 元素:可拖动元素将被包含在此元素的边界框中。
-
字符串:可能的值:
"parent"
、"document"
、"window"
。 -
数组:一个数组,以
[ x1, y1, x2, y2 ]
的形式定义一个边界框。
使用指定的 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
|
|
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 以在拖动时使用。
使用指定的 helper
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置helper
选项
1
2
3
4
5
|
|
iframeFix
false
cursorAt
选项结合使用时很有用,或者在鼠标光标可能不在 helper 上的任何情况下。-
布尔值:当设置为
true
时,透明覆盖层将放置在页面上的所有 iframe 上。 - 选择器:与选择器匹配的任何 iframe 都将被透明覆盖层覆盖。
使用指定的iframeFix
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置iframeFix
选项
1
2
3
4
5
|
|
opacity
false
使用指定的opacity
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置opacity
选项
1
2
3
4
5
|
|
refreshPositions
false
true
,则在每次 mousemove 时计算所有可放置位置。注意:这解决了高度动态页面上的问题,但会显著降低性能。
使用指定的refreshPositions
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置refreshPositions
选项
1
2
3
4
5
|
|
revert
false
-
布尔值:如果设置为
true
,则元素将始终恢复。 -
字符串:如果设置为
"invalid"
,则只有当可拖动元素未放置在可放置元素上时才会恢复。对于"valid"
,则相反。 -
函数:用于确定元素是否应恢复到其起始位置的函数。该函数必须返回
true
才能恢复元素。
使用指定的revert
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置revert
选项
1
2
3
4
5
|
|
revertDuration
500
revert
选项为false
,则忽略此选项。使用指定的revertDuration
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置revertDuration
选项
1
2
3
4
5
|
|
scope
"default"
accept
选项。具有与可放置元素相同的scope
值的拖动元素将被可放置元素接受。使用指定的scope
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置scope
选项
1
2
3
4
5
|
|
scroll
true
true
,则在拖动时容器自动滚动。使用指定的scroll
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置scroll
选项
1
2
3
4
5
|
|
scrollSensitivity
20
scroll
选项为false
,则忽略。使用指定的scrollSensitivity
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置scrollSensitivity
选项
1
2
3
4
5
|
|
scrollSpeed
20
使用指定的scrollSpeed
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置scrollSpeed
选项
1
2
3
4
5
|
|
snap
false
-
布尔值:设置为
true
时,元素将捕捉到所有其他可拖动元素。 - 选择器:指定要捕捉到的元素的选择器。
使用指定的snap
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置snap
选项
1
2
3
4
5
|
|
snapMode
"both"
使用指定的snapMode
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置snapMode
选项
1
2
3
4
5
|
|
snapTolerance
20
snap
选项为false
,则忽略。使用指定的snapTolerance
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置snapTolerance
选项
1
2
3
4
5
|
|
stack
false
使用指定的stack
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置stack
选项
1
2
3
4
5
|
|
zIndex
false
使用指定的 zIndex
选项初始化可拖动元素
1
2
3
|
|
在初始化后获取或设置 zIndex
选项
1
2
3
4
5
|
|
方法
instance()返回:对象
检索可拖动元素的实例对象。如果元素没有关联的实例,则返回 undefined
。
与其他小部件方法不同,在可拖动插件加载后,可以在任何元素上安全地调用 instance()
。
- 此方法不接受任何参数。
调用 instance 方法
1
|
|
option( optionName )返回:对象
获取当前与指定的 optionName
关联的值。
注意:对于以对象作为其值的选择项,你可以使用点表示法获取特定键的值。例如,"foo.bar"
将获取 foo
选项上 bar
属性的值。
-
optionName类型:字符串要获取的选项的名称。
调用该方法
1
|
|
option()返回:普通对象
- 此签名不接受任何参数。
调用该方法
1
|
|
widget()返回:jQuery
jQuery
对象。
- 此方法不接受任何参数。
调用小部件方法
1
|
|
事件
create( event, ui )类型:dragcreate
注意:ui
对象为空,但出于与其他事件的一致性而包含在内。
使用指定的 create 回调初始化可拖动元素
1
2
3
|
|
将事件侦听器绑定到 dragcreate 事件
1
|
|
drag( event, ui )类型:drag
使用指定的 drag 回调初始化可拖动元素
1
2
3
|
|
将事件侦听器绑定到 drag 事件
1
|
|
通过ui.position
限制移动
1
2
3
4
5
6
7
8
|
|
start( event, ui )类型:dragstart
使用指定的 start 回调初始化可拖动元素
1
2
3
|
|
将事件侦听器绑定到 dragstart 事件
1
|
|
示例
一个简单的 jQuery UI 可拖动元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
|