diff --git a/src/App.vue b/src/App.vue index 326bfe4..ed06f26 100644 --- a/src/App.vue +++ b/src/App.vue @@ -54,17 +54,26 @@ const themeVars = useThemeVars(); function handleContextMenu(event) { let element = event.target; + let classValue = ''; + let classRegExp = /(__code__|n-code|n-input|n-input-number|n-select)/; // 排除按住 Ctrl 键时 if (event.ctrlKey) { return; } + // 获取元素 class 信息 + if (element instanceof HTMLElement) { + classValue = element.classList.value; + } + // 排除输入框元素 - if ( - element instanceof HTMLInputElement && - ['password', 'text', 'textarea'].includes(element.type) - ) { + if (element instanceof HTMLInputElement) { + return; + } + + // 排除指定元素 + if (classValue && classRegExp.test(classValue)) { return; } diff --git a/src/views/ToolboxView/Conversion/ConvertTimestamp.vue b/src/views/ToolboxView/Conversion/ConvertTimestamp.vue index 26056cd..c4c3595 100644 --- a/src/views/ToolboxView/Conversion/ConvertTimestamp.vue +++ b/src/views/ToolboxView/Conversion/ConvertTimestamp.vue @@ -57,7 +57,6 @@ label-align="right" label-placement="left" label-width="9em" - @contextmenu.stop > @@ -88,7 +87,6 @@ label-align="right" label-placement="left" label-width="9em" - @contextmenu.stop > diff --git a/src/views/ToolboxView/Edit/JsonFormatter.vue b/src/views/ToolboxView/Edit/JsonFormatter.vue index b33ad10..1422d6f 100644 --- a/src/views/ToolboxView/Edit/JsonFormatter.vue +++ b/src/views/ToolboxView/Edit/JsonFormatter.vue @@ -61,7 +61,6 @@ placeholder="请输入 JSON 字符串" type="textarea" :rows="8" - @contextmenu.stop > @@ -72,7 +71,6 @@ language="json" :code="data.jsonOutput" :show-line-numbers="true" - @contextmenu.stop /> diff --git a/src/views/ToolboxView/Network/WebSocketTestTool.vue b/src/views/ToolboxView/Network/WebSocketTestTool.vue index 41ee8ce..f27b2f1 100644 --- a/src/views/ToolboxView/Network/WebSocketTestTool.vue +++ b/src/views/ToolboxView/Network/WebSocketTestTool.vue @@ -14,7 +14,6 @@ label-align="left" label-placement="top" label-width="auto" - @contextmenu.stop > diff --git a/src/views/ToolboxView/Other/OpenNewWindow.vue b/src/views/ToolboxView/Other/OpenNewWindow.vue index afed032..5272ca8 100644 --- a/src/views/ToolboxView/Other/OpenNewWindow.vue +++ b/src/views/ToolboxView/Other/OpenNewWindow.vue @@ -8,7 +8,6 @@ label-align="left" label-placement="left" label-width="auto" - @contextmenu.stop >