拖放web/droppable
令指定区域响应拖动效果。
<div id="drag" class="doc-box doc-box-small" style="cursor: move;"></div>
<div id="drop" style="height: 60px; border: 1px solid #C6D880"></div>
<script>
import draggable from "web/draggable";
import droppable from "web/droppable";
// 令滑块可拖动。
draggable(drag);
// 令容器可拖放。
droppable(drop, {
onDragEnter(draggable) {
drop.style.borderColor = "teal";
},
onDragLeave(draggable) {
drop.style.borderColor = "#C6D880";
},
onDrop(draggable) {
drag.className += " doc-box-red";
},
onDragStart(draggable){
drag.className = "doc-box doc-box-small";
}
});
</script>
API
全局
Droppable 类
表示一个可拖放区域。
字段 | 类型 | 描述 |
---|---|---|
⮞
onDragStart
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => boolean | void
任意元素拖动开始事件。 |
function
|
任意元素拖动开始事件。 |
⮞
onDragEnter
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => boolean | void
拖动进入事件。 |
function
|
拖动进入事件。 |
⮞
onDragMove
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => void
在当前区域拖动移动事件。 |
function
|
在当前区域拖动移动事件。 |
⮞
onDragLeave
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => boolean | void
拖动离开事件。 |
function
|
拖动离开事件。 |
⮞
onDrop
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => void
拖放事件。 |
function
|
拖放事件。 |
⮞
onDragEnd
: (draggable: Draggable, e: MouseEvent, sender: Droppable) => void
任意元素拖动结束事件。 |
function
|
任意元素拖动结束事件。 |
⮞
elem
: HTMLElement
拖放的元素。 |
HTMLElement
|
拖放的元素。 |
⮞
active
: boolean
(保护的)判断当前区域是否包含拖动对象。 |
boolean
|
(保护的)判断当前区域是否包含拖动对象。 |
⮞
Droppable.instances
: Droppable[] = []
所有拖放区域。 |
Droppable[]
|
所有拖放区域。 |
⮞
Droppable.current
: Droppable[]
本次拖动操作可拖放的所有区域。 |
Droppable[]
|
本次拖动操作可拖放的所有区域。 |
方法 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
⮞
enable()():
启用拖放。 返回值类型: |
启用拖放。 |
||||||||||||
⮞
disable()():
禁用拖放。 返回值类型: |
禁用拖放。 |
||||||||||||
⮞
contains(draggable, e)(draggable:
判断指定的拖动对象是否已进入当前拖放区域。
返回值类型: 如果在区域内则返回 true,否则返回 false。 |
判断指定的拖动对象是否已进入当前拖放区域。 |
||||||||||||
⮞
Droppable.handleDragStart(e, sender)(e:
|
处理拖动开始事件。 |
||||||||||||
⮞
Droppable.handleDragMove(e, sender)(e:
|
处理拖动移动事件。 |
||||||||||||
⮞
Droppable.handleDragEnd(e, sender)(e:
|
处理拖动结束事件。 |