summaryrefslogtreecommitdiff
path: root/src/client/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/ui')
-rw-r--r--src/client/ui/deck/main-column.vue7
-rw-r--r--src/client/ui/default.vue7
2 files changed, 14 insertions, 0 deletions
diff --git a/src/client/ui/deck/main-column.vue b/src/client/ui/deck/main-column.vue
index f0d5567b6e..6d798c130c 100644
--- a/src/client/ui/deck/main-column.vue
+++ b/src/client/ui/deck/main-column.vue
@@ -57,6 +57,13 @@ export default defineComponent({
},
onContextmenu(e) {
+ const isLink = (el: HTMLElement) => {
+ if (el.tagName === 'A') return true;
+ if (el.parentElement) {
+ return isLink(el.parentElement);
+ }
+ };
+ if (isLink(e.target)) return;
if (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;
diff --git a/src/client/ui/default.vue b/src/client/ui/default.vue
index 7626ddaa58..220dee9d6d 100644
--- a/src/client/ui/default.vue
+++ b/src/client/ui/default.vue
@@ -187,6 +187,13 @@ export default defineComponent({
},
onContextmenu(e) {
+ const isLink = (el: HTMLElement) => {
+ if (el.tagName === 'A') return true;
+ if (el.parentElement) {
+ return isLink(el.parentElement);
+ }
+ };
+ if (isLink(e.target)) return;
if (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return;
if (window.getSelection().toString() !== '') return;
const path = this.$route.path;