Teal TealUI

拖放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 类

API

全局

函数 描述
droppable(elem, ...)(elem:HTMLElement, options?:Partial<Droppable>):Droppable

创建一个可拖放区域。

参数 类型 描述 默认值
elem* HTMLElement
options Partial<Droppable>

返回值

类型:Droppable

返回一个可拖放区域。

创建一个可拖放区域。

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()():void

启用拖放。

返回值

类型:void

启用拖放。

disable()():void

禁用拖放。

返回值

类型:void

禁用拖放。

contains(draggable, e)(draggable:Draggable, e:MouseEvent):boolean

判断指定的拖动对象是否已进入当前拖放区域。

参数 类型 描述 默认值
draggable* Draggable
e* MouseEvent

返回值

类型:boolean

如果在区域内则返回 true,否则返回 false。

判断指定的拖动对象是否已进入当前拖放区域。

Droppable.handleDragStart(e, sender)(e:MouseEvent, sender:Draggable):void

处理拖动开始事件。

参数 类型 描述 默认值
e* MouseEvent
sender* Draggable

返回值

类型:void

处理拖动开始事件。

Droppable.handleDragMove(e, sender)(e:MouseEvent, sender:Draggable):void

处理拖动移动事件。

参数 类型 描述 默认值
e* MouseEvent
sender* Draggable

返回值

类型:void

处理拖动移动事件。

Droppable.handleDragEnd(e, sender)(e:MouseEvent, sender:Draggable):void

处理拖动结束事件。

参数 类型 描述 默认值
e* MouseEvent
sender* Draggable

返回值

类型:void

处理拖动结束事件。