失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > javascript同一个元素同时绑定click和dblclick事件(同时单击和双击事件)

javascript同一个元素同时绑定click和dblclick事件(同时单击和双击事件)

时间:2022-07-10 20:46:31

相关推荐

javascript同一个元素同时绑定click和dblclick事件(同时单击和双击事件)

原则上尽量不要在同一DOM元素上绑定单击和双击事件,不可避免会相互影响。

我碰到的现象是:在同一DOM元素上绑定了click和dblclick(用的jquery),在firefox下,双击事件有时候会触发,有时候不行,猜想可能是单击事件的影响造成(在IE下面双击事件能触发)。百度了一些内容:IE对双击事件的处理和其它浏览器有些不同

IE下双击触发事件:

mousedown, mouseup, click, mouseup, dblclick

而在ff下:

mousedown, mouseup, click, mousedown, mouseup, click, dblclick

无奈之下,只有在用户单击的时候,记住一个状态,给一个定时器重置这个状态,如果在定时器重置状态之前又有click触发,就调用 双击事件处理函数

clickInterval = 600;

clicked = false;

clearTimeout(clickTimer);

clickTimer = setTimeout(function(){

//alert("clickTime:" + clickTime);

clicked = false;

//clickTime = 0;

}, clickInterval);

if (clicked)

//dblclicked event

clicked = true;

上面的代码在IE下面会有问题,因为IE在双击时,只触发了一次clicked(点击3次,IE下会有双击的效果),无奈之下,只有判断浏览器类型,然后绑定一个双击事件了。判断IE浏览器用jquery的$.browser.msie(返回true,false)

如果觉得《javascript同一个元素同时绑定click和dblclick事件(同时单击和双击事件)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。