JavaScript---鼠标单双击事件绑定不同的事件

一直以为JavaScript中单击和双击是独立的,直到有一天,遇到了单双击执行不同的代码时,才发现。。。

毕竟双击就是两次单击,所以在双击的第一击时,会触发单击的事件的,但是在第一击时通过setTimeout来延迟单击执行的代码,当延迟的时间内如有第二击,那就是双击了吧,在双击监听那里停掉单击延迟执行的代码,这样就能区分开单击双击事件了,不过注意设置延迟的时间要适合。


//定义setTimeout执行方法

var Timeone = null;

$('body').click(function() {

// 取消上次延时未执行的方法

clearTimeout(Timeone);

//执行延时

Timeone = setTimeout(function() {

//do function在此处写单击事件要执行的代码

console.log(111);

}, 500);//延迟的时间为500ms

});

$('body').dblclick(function() {

// 取消上次延时未执行的方法

clearTimeout(Timeone);

//双击事件的执行代码

console.log(222);

});

代码来自网上并根据自己需要加以更改,侵删。

你可能感兴趣的:(JavaScript---鼠标单双击事件绑定不同的事件)