From c2561d5498fb32c1823fc22f5898225612e401f7 Mon Sep 17 00:00:00 2001 From: Frost-ZX Date: Sun, 1 Sep 2024 12:19:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=98=BB=E6=AD=A2=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=8F=B3=E9=94=AE=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/App.vue b/src/App.vue index 5f114bc..8b881c4 100644 --- a/src/App.vue +++ b/src/App.vue @@ -43,6 +43,10 @@ import { useThemeVars, } from 'naive-ui'; +import { + onMounted, onBeforeUnmount, +} from 'vue'; + import { configProviderProps, } from './assets/js/naive-ui'; @@ -57,6 +61,34 @@ const themeCommon = themeOverrides.common; /** 默认主题变量 */ const themeVars = useThemeVars(); + +/** + * @description 阻止默认右键菜单 + * @param {PointerEvent} event + */ +function handleContextMenu(event) { + + let element = event.target; + + // 排除输入框元素 + if ( + element instanceof HTMLInputElement && + ['password', 'text', 'textarea'].includes(element.type) + ) { + return; + } + + event.preventDefault(); + +} + +onMounted(() => { + window.addEventListener('contextmenu', handleContextMenu); +}); + +onBeforeUnmount(() => { + window.removeEventListener('contextmenu', handleContextMenu); +});