【发布时间】:2012-04-28 09:32:37
【问题描述】:
假设我在页面中有一个ul (li) 列表:
<ul>
<li>xxx<li>
<li>xxx<li>
</ul>
元素li是可点击和可双击的,它们与这些事件相关联,而我return false在这两个事件中。
$('ul li').on('click',function(){
//do what I want
return false;
}).on('dblclick',function(){
//do what I want
return false;
});
但是当用户双击元素时,li里面的文字会被选中。如何预防?
更新:
现在解决了,我用 NiftyDude 的 css 选择器使用以下代码:
$('ul li').on('click',function(){
//do what I want
return false;
}).....on('dragstart',function(){return false;}).on('selectstart',function(){return false;});
【问题讨论】:
-
附带说明,您可能想使用
e.preventDefault()instead ofreturn false。 -
这不应该是一个解决方案,它只是你应该知道和做的事情。
-
return false;与在事件处理程序 arg 上同时调用preventDefault()和stopPropagation()相同。不过,也许最好的办法就是直接通过false:/*....*/.on('dragstart selectstart', false);
标签: javascript onclick click dom-events textselection