设置draggable属性告诉浏览器哪些元素可以拖动
| 值 | 说明 |
|---|---|
| true | 可以拖动 |
| false | 不可以拖动 |
| auto | 浏览器决定该元素是否可拖动(默认值) |
<div draggable="true">
| 事件名 | 说明 |
|---|---|
| dragstart | 在元素开始被拖动时触发 |
| drag | 在元素被拖动时反复触发 |
| dragend | 在拖动操作完成时触发 |
可以利用这些事件添加一些视觉效果强化拖拽操作
在 dragstart中 为元素添加一个拖拽样式
在 dragend中 取消拖拽样式
拖拽元素要拖到释放区里才能释放。
要让某个元素称为释放区,我们需要处理dragenter和dragover事件。
释放区事件如下:
| 事件名 | 说明 |
|---|---|
| dragenter | 当被拖放元素进入释放区时触发 |
| dragover | 当被拖放元素在释放区内移动时触发 |
| dragleave | 当被拖放元素没有放下就离开释放区时触发 |
| drop | 当被拖放元素在释放区里放下时触发 |
dragenter和dragover事件的默认行为是拒绝接受任何被拖拽的元素,所以我们要阻止默认行为。
onDragEnter(e){
e.preventDefault()
}
onDragOver(e){
e.preventDefault()
}