fix(工具箱): 优化阻止默认右键菜单处理逻辑
This commit is contained in:
17
src/App.vue
17
src/App.vue
@@ -54,17 +54,26 @@ const themeVars = useThemeVars();
|
|||||||
function handleContextMenu(event) {
|
function handleContextMenu(event) {
|
||||||
|
|
||||||
let element = event.target;
|
let element = event.target;
|
||||||
|
let classValue = '';
|
||||||
|
let classRegExp = /(__code__|n-code|n-input|n-input-number|n-select)/;
|
||||||
|
|
||||||
// 排除按住 Ctrl 键时
|
// 排除按住 Ctrl 键时
|
||||||
if (event.ctrlKey) {
|
if (event.ctrlKey) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取元素 class 信息
|
||||||
|
if (element instanceof HTMLElement) {
|
||||||
|
classValue = element.classList.value;
|
||||||
|
}
|
||||||
|
|
||||||
// 排除输入框元素
|
// 排除输入框元素
|
||||||
if (
|
if (element instanceof HTMLInputElement) {
|
||||||
element instanceof HTMLInputElement &&
|
return;
|
||||||
['password', 'text', 'textarea'].includes(element.type)
|
}
|
||||||
) {
|
|
||||||
|
// 排除指定元素
|
||||||
|
if (classValue && classRegExp.test(classValue)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -57,7 +57,6 @@
|
|||||||
label-align="right"
|
label-align="right"
|
||||||
label-placement="left"
|
label-placement="left"
|
||||||
label-width="9em"
|
label-width="9em"
|
||||||
@contextmenu.stop
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<n-form-item label="本地时间:">
|
<n-form-item label="本地时间:">
|
||||||
@@ -88,7 +87,6 @@
|
|||||||
label-align="right"
|
label-align="right"
|
||||||
label-placement="left"
|
label-placement="left"
|
||||||
label-width="9em"
|
label-width="9em"
|
||||||
@contextmenu.stop
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<n-form-item label="本地时间:">
|
<n-form-item label="本地时间:">
|
||||||
|
@@ -61,7 +61,6 @@
|
|||||||
placeholder="请输入 JSON 字符串"
|
placeholder="请输入 JSON 字符串"
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:rows="8"
|
:rows="8"
|
||||||
@contextmenu.stop
|
|
||||||
></n-input>
|
></n-input>
|
||||||
</n-card>
|
</n-card>
|
||||||
|
|
||||||
@@ -72,7 +71,6 @@
|
|||||||
language="json"
|
language="json"
|
||||||
:code="data.jsonOutput"
|
:code="data.jsonOutput"
|
||||||
:show-line-numbers="true"
|
:show-line-numbers="true"
|
||||||
@contextmenu.stop
|
|
||||||
/>
|
/>
|
||||||
</n-card>
|
</n-card>
|
||||||
|
|
||||||
|
@@ -14,7 +14,6 @@
|
|||||||
label-align="left"
|
label-align="left"
|
||||||
label-placement="top"
|
label-placement="top"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
@contextmenu.stop
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<n-form-item label="连接地址">
|
<n-form-item label="连接地址">
|
||||||
|
@@ -8,7 +8,6 @@
|
|||||||
label-align="left"
|
label-align="left"
|
||||||
label-placement="left"
|
label-placement="left"
|
||||||
label-width="auto"
|
label-width="auto"
|
||||||
@contextmenu.stop
|
|
||||||
>
|
>
|
||||||
|
|
||||||
<n-form-item label="目标链接:">
|
<n-form-item label="目标链接:">
|
||||||
|
Reference in New Issue
Block a user