元素上同时绑定单击和双击事件后双击触发单击事件如何解决
双击(dblclick)的流程是:mousedown,mouseout,click,mousedown,mouseout,click,dblclick;
在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。也就是说双击事件(dblclick)会返回一次单击事件(click)结果和一次双击事件(dblclick) 结果。而不是一次双击事件(dblclick)结果和两次单击事件结果(click)。
所以可以使用计时的方式去除掉一个多余的单击事件就行了
<script language="javascript"> $(function(){ var TimeFn = null; $('.testdiv').click(function () { clearTimeout(TimeFn); TimeFn = setTimeout(function(){ alert('click') },300); }); $('.testdiv').dblclick(function () { clearTimeout(TimeFn); alert('dbclick'); }) }); </script>

浙公网安备 33010602011771号