在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  Java  HTML/ JS 屏蔽瀏覽器默認(rèn)事件

JS 屏蔽瀏覽器默認(rèn)事件

效果

clipboard.png

這圖里面是一個(gè)輸入框,然后我想 雙擊后替換里面的文字,但是很明顯,在替換文字前,原有文字會(huì)被鼠標(biāo)雙擊的默認(rèn)事件全選中,可以說相當(dāng)難看了。

所以就會(huì)涉及到屏蔽瀏覽器默認(rèn)事件。

我試了,在當(dāng)前控件,也就是這個(gè) input 元素上,綁定雙擊事件,然后不管是 preventDefault 還是 stopPropagation 或者 返回 false,都不能阻止這個(gè)雙擊選中文字的默認(rèn)事件

在 document 對(duì)象上可以,直接返回 false 就能阻止

問題來了

  1. 屏蔽這類雙擊選中事件,只能在 document 對(duì)象的雙擊事件上做手腳么?
  2. 能否通過調(diào)用當(dāng)前元素的 event 對(duì)象的函數(shù)來屏蔽這個(gè)事件?

注:onselectstart="return false;" 以及 css 的方式不能采用,因?yàn)椴荒芷帘问髽?biāo)拖動(dòng)來選擇文字的操作

回答
編輯回答
安若晴

我自己來填坑吧,vue中,忘了還有 prevent 這個(gè)修飾符,用上就行了,不過比較奇怪的是,如果不用這個(gè)修飾符,在后面的事件處理中就沒法再阻止了,估計(jì)是 Vue 是將傳入函數(shù)作為二次調(diào)用的,并不是直接綁定的

2017年4月28日 12:17
編輯回答
過客

用css的樣式試試

-webkit-user-select: none;
2017年8月14日 16:37
編輯回答
薔薇花

這種情況,可以用一個(gè)不透明度為 1%的div覆蓋住這個(gè)元素,雙擊實(shí)際上在div上觸發(fā)的。

2017年7月11日 03:06