我有一个<div>
,里面有一堆文本。这个<div>
还使用jQuery在上面有一个.click()
事件。
我遇到的问题是.click()
在选择/突出显示文本时被触发。甚至在释放之前按住鼠标几秒钟。
以下是显示此问题的JSFiddle:http://jsfiddle.net/ym5JX/
我所期望的行为是突出显示文本与单击元素不同。
我有一个<div>
,里面有一堆文本。这个<div>
还使用jQuery在上面有一个.click()
事件。
我遇到的问题是.click()
在选择/突出显示文本时被触发。甚至在释放之前按住鼠标几秒钟。
以下是显示此问题的JSFiddle:http://jsfiddle.net/ym5JX/
我所期望的行为是突出显示文本与单击元素不同。
3条答案
按热度按时间wlsrxk511#
这是因为
click
是mousedown
后面跟着mouseup
。我的建议是在click
处理程序中检查getSelection
。如果它被设置,那么你选择了一些东西,否则你就点击了。演示:http://jsfiddle.net/ym5JX/3/
zkure5ic2#
正如我在评论中所写的,
mosuedown + mouseup = click
正是高亮显示所做的。有一个解决办法,见下文,DEMO
pb3s4cty3#
jsFiddle:http://jsfiddle.net/ym5JX/8/的操作系统