DragEvent - 一个表示拖放交互的 DOM 事件
DragEvent
接口是一个表示拖放交互的 DOM 事件
。用户通过将指针设备(例如鼠标)然后放置在可触摸表面,然后将指针拖动到新位置(例如另一个 DOM 元素)来启动拖动。应用程序可以按应用程序特定的方式自由解释拖放交互。
该接口继承了 MouseEvent
和 Event
的属性。
属性
DragEvent.dataTransfer
只读
拖放交互期间传输的数据。
构造函数
尽管该接口具有构造函数,但无法从脚本创建有用的 DataTransfer 对象,因为在拖放期间,会由浏览器分配一个安全模式的 DataTransfer
对象。
DragEvent()
创建合成且不受信任的 DragEvent。
事件类型
drag
当拖动元素或文本选择时会触发该事件。
dragend
当拖动操作结束时(通过释放鼠标按钮或按下转义键),将触发该事件。
dragenter
当拖动的元素或文本选择进入有效的放置目标时,将触发该事件。
dragexit
当元素不再是拖动操作的直接选择目标时,将触发该事件。
dragleave
当拖动的元素或文本选择留下有效的放置目标时,将触发该事件。
dragover
当拖动元素或文本选择并且鼠标指针位于有效的放置目标上时,该事件将持续触发(当鼠标在 5 毫秒(慢速移动)和 1 毫秒(快速移动)之间移动时,每 50 毫秒移动一次。该触发模式与 mouseover
不同)。
dragstart
当用户开始拖动元素或文本选择时会触发该事件。
drop
在有效放置目标上放置元素或文本选择时会触发该事件。
全局事件处理程序 GlobalEventHandlers
GlobalEventHandlers.ondrag
GlobalEventHandlers.ondragend
GlobalEventHandlers.ondragenter
GlobalEventHandlers.ondragexit
GlobalEventHandlers.ondragleave
GlobalEventHandlers.ondragover
GlobalEventHandlers.ondragstart
GlobalEventHandlers.ondrop
实例
每个属性,构造函数,事件类型和全局事件处理程序的实例包含在它们各自的参考页面中。
规范
规范 | 状态 | 备注 |
---|---|---|
HTML Living Standard DragEvent 的定义 |
现行的标准 | - |
HTML 5.1 DragEvent 的定义 |
推荐 | 初始定义 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 4 | 支持 | 3.5 | 10 | 12 | 3.1 |
dataTransfer |
4 | 支持 | 3.5 | 10 | 12 | 3.1 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 不支持 | 不支持 | 支持 | 支持 | 未知 | 不支持 | 不支持 |
dataTransfer |
不支持 | 不支持 | 支持 | 支持 | 未知 | 不支持 | 不支持 |