diff --git a/docs/en/guide/override.md b/docs/en/guide/override.md index abd982c..6159af9 100644 --- a/docs/en/guide/override.md +++ b/docs/en/guide/override.md @@ -28,3 +28,13 @@ Usage: ```javascript instance.override.copy = () => void ``` + +## drop + +Feature: Override internal drop function + +Usage: + +```javascript +instance.override.drop = (evt: DragEvent) => void +``` diff --git a/docs/guide/override.md b/docs/guide/override.md index d85621f..8d8e904 100644 --- a/docs/guide/override.md +++ b/docs/guide/override.md @@ -28,3 +28,13 @@ instance.override.paste = (evt?: ClipboardEvent) => void ```javascript instance.override.copy = () => void ``` + +## drop + +功能:重写拖放方法 + +用法: + +```javascript +instance.override.drop = (evt: DragEvent) => void +``` diff --git a/src/editor/core/event/handlers/drop.ts b/src/editor/core/event/handlers/drop.ts index 93a80d0..8ef6cda 100644 --- a/src/editor/core/event/handlers/drop.ts +++ b/src/editor/core/event/handlers/drop.ts @@ -2,6 +2,13 @@ import { CanvasEvent } from '../CanvasEvent' import { pasteImage } from './paste' export function drop(evt: DragEvent, host: CanvasEvent) { + const draw = host.getDraw() + // 自定义拖放事件 + const { drop } = draw.getOverride() + if (drop) { + drop(evt) + return + } evt.preventDefault() const data = evt.dataTransfer?.getData('text') if (data) { diff --git a/src/editor/core/override/Override.ts b/src/editor/core/override/Override.ts index 1d3969a..014c88b 100644 --- a/src/editor/core/override/Override.ts +++ b/src/editor/core/override/Override.ts @@ -1,4 +1,5 @@ export class Override { public paste: ((evt?: ClipboardEvent) => void) | undefined public copy: (() => void) | undefined + public drop: ((evt: DragEvent) => void) | undefined }