UNPKG

@vdnd/v3

Version:

Easy used vue drag and drop component library.

121 lines (85 loc) 5.88 kB
# drag | 事件参数 | 类型 | 说明 | | ------------- | -------------- | -------------------- | | type | string | 'drag' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | over | object \| null | **当前选择放置区域** | | originalEvent | Event \| null | | `MouseDnd``TouchDnd` 触发的 `drag` 事件,`originalEvent` 为 null。 `MouseDnd``TouchDnd` 会每 50ms 触发一次 `drag` 事件,`NativeDnd` 触发 `drag` 事件的频率与原生 `drag` 事件一致。 在该事件的监听器中更新拖放交互相关的 DOM 元素是**不安全**的,例如将**当前拖拽源**从 DOM 中移除。 # drag:start | 事件参数 | 类型 | 说明 | | ------------- | ----------- | -------------- | | type | string | 'drag:start' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | originalEvent | Event | | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**不安全**的。 # drag:prevent | 事件参数 | 类型 | 说明 | | ------------- | ----------- | ---------------- | | type | string | 'drag:prevent' | | container | HTMLElement | **拖放容器** | | source | object | 尝试拖拽的**源** | | originalEvent | Event | | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**安全**的。 # drag:enter | 事件参数 | 类型 | 说明 | | ------------- | ----------- | ---------------------------------- | | type | string | 'drag:enter' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | enter | object | 即将作为**当前选择****放置区域** | | originalEvent | Event | | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**不安全**的。 # drag:leave | 事件参数 | 类型 | 说明 | | ------------- | ----------- | ---------------------------------------------- | | type | string | 'drag:leave' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | leave | object | 上个**当前选择放置区域****当前选择放置区域** | | originalEvent | Event | | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**不安全**的。 # drag:over | 事件参数 | 类型 | 说明 | | ------------- | ------------- | -------------------- | | type | string | 'drag:over' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | over | object | **当前选择放置区域** | | originalEvent | Event \| null | | `MouseDnd``TouchDnd` 触发的 `drag:over` 事件,`originalEvent` 为 null。 `MouseDnd``TouchDnd` 会每 50ms 触发一次 `drag:over` 事件,`NativeDnd` 触发 `drag:over` 事件的频率与原生 `dragover` 事件一致。 在该事件的监听器中更新拖放交互相关的 DOM 元素是**不安全**的。 # drop | 事件参数 | 类型 | 说明 | | ------------- | ----------- | -------------------- | | type | string | 'drop' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | dropzone | object | **当前选择放置区域** | | originalEvent | Event | | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**安全**的。 `drop` 事件触发时,**拖放交互实例**的状态尚未被重置,`source``over` 属性值均为非空。 # drag:end | 事件参数 | 类型 | 说明 | | ------------- | -------------- | -------------------- | | type | string | 'drag:end' | | container | HTMLElement | **拖放容器** | | source | object | **当前拖拽源** | | over | object \| null | **当前选择放置区域** | | originalEvent | Event | | `MouseDnd``NativeDnd` 可以通过按下 `esc` 键终止拖放交互: | 终止交互时是否存在当前选择放置区域 | 行为 | | ---------------------------------- | ---------------------------------------- | | 是 | 先后触发 `drag:leave``drag:end` 事件 | | 否 | 触发 `drag:end` 事件 | 在该事件的监听器中更新拖放交互相关的 DOM 元素是**安全**的。 `drag:end` 事件触发时,**拖放交互实例**的状态已被重置,`source``over` 属性值均被重置为 null,相关样式已从 DOM 中移除。 # initialized 无参数。 在该事件的监听器中更新拖放交互相关的 DOM 元素是**安全**的。 如果我们想通过**拖放交互实例**监听拖放交互事件,那么需要在该事件的监听器中进行监听,否则将是**不安全**的。