Improve contextmenu handling
This commit is contained in:
		
							parent
							
								
									547da89c7d
								
							
						
					
					
						commit
						871d2bad17
					
				
					 3 changed files with 15 additions and 0 deletions
				
			
		|  | @ -2,6 +2,7 @@ | |||
| <component :is="self ? 'MkA' : 'a'" class="ieqqeuvs _link" :[attr]="self ? url.substr(local.length) : url" :rel="rel" :target="target" | ||||
| 	@mouseover="onMouseover" | ||||
| 	@mouseleave="onMouseleave" | ||||
| 	@contextmenu.stop="() => {}" | ||||
| > | ||||
| 	<template v-if="!self"> | ||||
| 		<span class="schema">{{ schema }}//</span> | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue