From d616564a556f7af34abd0514106d76da6182ca05 Mon Sep 17 00:00:00 2001 From: Frost-ZX Date: Sun, 9 Feb 2025 22:54:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=B7=A5=E5=85=B7=E7=AE=B1):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E9=98=BB=E6=AD=A2=E9=BB=98=E8=AE=A4=E5=8F=B3=E9=94=AE?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 17 +++++++++++++---- .../ToolboxView/Conversion/ConvertTimestamp.vue | 2 -- src/views/ToolboxView/Edit/JsonFormatter.vue | 2 -- .../ToolboxView/Network/WebSocketTestTool.vue | 1 - src/views/ToolboxView/Other/OpenNewWindow.vue | 1 - 5 files changed, 13 insertions(+), 10 deletions(-) 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 >