diff --git a/src/editor/core/contextmenu/ContextMenu.ts b/src/editor/core/contextmenu/ContextMenu.ts index d32789d..fbafd85 100644 --- a/src/editor/core/contextmenu/ContextMenu.ts +++ b/src/editor/core/contextmenu/ContextMenu.ts @@ -61,7 +61,7 @@ export class ContextMenu { // 菜单权限 this.container.addEventListener('contextmenu', this._proxyContextMenuEvent) // 副作用处理 - document.addEventListener('mousedown', this._handleEffect) + document.addEventListener('mousedown', this._handleSideEffect) } public removeEvent() { @@ -69,7 +69,7 @@ export class ContextMenu { 'contextmenu', this._proxyContextMenuEvent ) - document.removeEventListener('mousedown', this._handleEffect) + document.removeEventListener('mousedown', this._handleSideEffect) } private _proxyContextMenuEvent = (evt: MouseEvent) => { @@ -99,11 +99,12 @@ export class ContextMenu { evt.preventDefault() } - private _handleEffect = (evt: MouseEvent) => { + private _handleSideEffect = (evt: MouseEvent) => { if (this.contextMenuContainerList.length) { // 点击非右键菜单内 + const target = (evt?.composedPath()[0] || evt.target) const contextMenuDom = findParent( - evt.target as Element, + target, (node: Node & Element) => !!node && node.nodeType === 1 &&