效果
这图里面是一个输入框,然后我想 双击后替换里面的文字,但是很明显,在替换文字前,原有文字会被鼠标双击的默认事件全选中,可以说相当难看了。
所以就会涉及到屏蔽浏览器默认事件。
我试了,在当前控件,也就是这个 input 元素上,绑定双击事件,然后不管是 preventDefault 还是 stopPropagation 或者 返回 false,都不能阻止这个双击选中文字的默认事件
在 document 对象上可以,直接返回 false 就能阻止
问题来了
- 屏蔽这类双击选中事件,只能在 document 对象的双击事件上做手脚么?
- 能否通过调用当前元素的 event 对象的函数来屏蔽这个事件?
注:onselectstart="return false;" 以及 css 的方式不能采用,因为不能屏蔽鼠标拖动来选择文字的操作
这种情况,可以用一个不透明度为 1%的div覆盖住这个元素,双击实际上在div上触发的。