拖动(Draggable)
允许使用鼠标移动元素。
如需了解更多有关 draggable 交互的细节,请查看 API 文档 可拖拽小部件(Draggable Widget)。
默认功能
在任意的 DOM 元素上启用 draggable 功能。通过鼠标点击并在视区中拖动来移动 draggable 对象。
自动滚动
当 draggable 移动到视区外时自动滚动文档。设置scroll
选项为 true 来启用自动滚动,当滚动触发时进行微调,滚动速度是通过scrollSensitivity
和scrollSpeed
选项设置的。
约束运动
通过定义 draggable 区域的边界来约束每个 draggable 的运动。设置axis
选项来限制 draggable 的路径为 x 轴或者 y 轴,或者使用containment
选项来指定一个父级的 DOM 元素或者一个 jQuery 选择器,比如 'document.'。
光标样式
当拖拽对象时定位光标。默认情况下,光标是出现在被拖拽对象的中间。使用cursorAt
选项来指定相对于 draggable 的另一个位置(指定一个相对于 top、right、bottom、left 的像素值)。通过提供一个带有有效的 CSS 光标值的cursor
选项,来自定义光标的外观。有效的 CSS 光标值包括:default、move、pointer、crosshair,等等。
延迟开始
通过delay
选项设置延迟开始拖拽的毫秒数。通过distance
选项设置光标被按下且拖拽指定像素后才允许拖拽。
事件
draggable 上的start
、drag
和stop
事件。拖拽开始时触发start
事件,拖拽期间触发drag
事件,拖拽停止时触发stop
事件。
Handles
只有当光标在 draggable 上指定部分时才允许拖拽。使用handle
选项来指定用于拖拽对象的元素(或元素组)的 jQuery 选择器。
或者当光标在 draggable 内指定元素(或元素组)上时不允许拖拽。使用handle
选项来指定取消拖拽功能的 jQuery 选择器。
还原位置
当带有布尔值revert
选项的 draggable 停止拖拽时,返回 draggable(或它的助手)到原始位置。
对齐到元素或网格
对齐 draggable 到 DOM 元素的内部或外部边界。使用snap
、snapMode
(inner, outer, both)和snapTolerance
(当调用对齐时,draggable 与元素之间的距离,以像素为单位)选项。
或者对齐 draggable 到网格。通过grid
选项设置网格单元的尺寸(以像素为单位的高度或宽度)。
视觉反馈
给用户提供反馈,就像以助手方式拖拽对象一样。helper
选项接受值 'original'(用光标移动 draggable 对象),'clone'(用光标移动 draggable 的副本),或者一个返回 DOM 元素的函数(该元素在拖拽期间显示在光标附近)。通过opacity
选项控制助手的透明度。
为了区别哪一个 draggable 正在被拖拽,让在运动中的 draggable 保持最前。如果正在拖拽,使用zIndex
选项来设置助手的高度 z-index,或者使用stack
选项来确保当停止拖拽时,最后一个被拖拽的项目总是出现在同组其他项目的上面。
jQuery UI Draggable + Sortable
Draggable 与 Sortable 的无缝交互。