允许用户在一个元素上点击并按住鼠标按钮,拖动它到别的位置,然后松开鼠标按钮将元素放到那儿。 在拖动操作过程中,被拖动元素会以半透明形式展现,并跟随鼠标指针移动。放置元素的位置可能会在不同的应用内。 ## 源元素事件 **所谓源元素**就是被拖动的元素。 | 事件名称 | 作用 | 触发次数 | | --- | --- | --- | | dragstart事件 | 开始拖动源元素时被触发 | 只被触发一次| | drag事件 | 拖动的过程中,实时被触发 | 被触发多次 | | dragend事件 | 结束拖动源元素时被触发 | 只被触发一次 | ```html
``` ## 目标元素事件 **所谓目标元素**就是投放到的元素。 | 事件名称 | 作用 | 触发次数 | | --- | --- | --- | | dragenter事件 | 当源元素到达目标元素时被触发 | 只被触发一次| | dragover事件 | 当源元素到达目标元素时被触发 | 被触发多次。阻止默认行为,触发drop事件 | | drop事件 | 当源元素投放在目标元素时被触发 | 默认该事件不会被触发 | | dragleave事件 | 当源元素离开目标元素时被触发 | 只被触发一次 | ```html
``` ## dataTransfer对象 该对象已被集成在 `event` 对象中,起到剪切板的功能。 | 方法名称 | 作用 | 场景 | | --- | --- | --- | | setData(type,data) | 存储数据 | 在源元素事件中 | | getData(type) | 取出数据 | 在目标元素事件中 | | clearData() | 清除剪切板中所有数据 | | 参数: - type:指定当前存储数据的类型(标识)。 - data:需要中转的数据内容。 ```html
```