diff options
Diffstat (limited to 'src/client/ui')
| -rw-r--r-- | src/client/ui/deck/main-column.vue | 7 | ||||
| -rw-r--r-- | src/client/ui/default.vue | 7 |
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; |