feat: clear contextmenu side effect in web component #219

This commit is contained in:
Hufe921
2023-07-26 21:28:06 +08:00
parent ce70f0d7e8
commit fc356c7eb6
+5 -4
View File
@@ -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 = <Element>(evt?.composedPath()[0] || evt.target)
const contextMenuDom = findParent(
evt.target as Element,
target,
(node: Node & Element) =>
!!node &&
node.nodeType === 1 &&