DragEvent - 一个表示拖放交互的 DOM 事件

DragEvent 接口是一个表示拖放交互的 DOM 事件。用户通过将指针设备(例如鼠标)然后放置在可触摸表面,然后将指针拖动到新位置(例如另一个 DOM 元素)来启动拖动。应用程序可以按应用程序特定的方式自由解释拖放交互。

该接口继承了 MouseEventEvent 的属性。

属性

DragEvent.dataTransfer 只读

拖放交互期间传输的数据。

构造函数

尽管该接口具有构造函数,但无法从脚本创建有用的 DataTransfer 对象,因为在拖放期间,会由浏览器分配一个安全模式的 DataTransfer 对象。

DragEvent()

创建合成且不受信任的 DragEvent。

事件类型

drag

当拖动元素或文本选择时会触发该事件。

dragend

当拖动操作结束时(通过释放鼠标按钮或按下转义键),将触发该事件。

dragenter

当拖动的元素或文本选择进入有效的放置目标时,将触发该事件。

dragexit

当元素不再是拖动操作的直接选择目标时,将触发该事件。

dragleave

当拖动的元素或文本选择留下有效的放置目标时,将触发该事件。

dragover

当拖动元素或文本选择并且鼠标指针位于有效的放置目标上时,该事件将持续触发(当鼠标在 5 毫秒(慢速移动)和 1 毫秒(快速移动)之间移动时,每 50 毫秒移动一次。该触发模式与 mouseover 不同)。

dragstart

当用户开始拖动元素或文本选择时会触发该事件。

drop

在有效放置目标上放置元素或文本选择时会触发该事件。

全局事件处理程序 GlobalEventHandlers

GlobalEventHandlers.ondrag

drag 事件的 全局事件处理程序

GlobalEventHandlers.ondragend

dragend 事件的 全局事件处理程序

GlobalEventHandlers.ondragenter

dragenter 事件的 全局事件处理程序

GlobalEventHandlers.ondragexit

dragexit 事件的 全局事件处理程序

GlobalEventHandlers.ondragleave

dragleave 事件的 全局事件处理程序

GlobalEventHandlers.ondragover

dragover 事件的 全局事件处理程序

GlobalEventHandlers.ondragstart

dragstart 事件的 全局事件处理程序

GlobalEventHandlers.ondrop

drop 事件的 全局事件处理程序

实例

每个属性,构造函数,事件类型和全局事件处理程序的实例包含在它们各自的参考页面中。

规范

规范 状态 备注
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 不支持 不支持 支持 支持 未知 不支持 不支持

相关链接