在javascript中,如果同时使用单击和双击事件,在双击的时候就会同时出发一次单击事件,在csdn里已经有很多利用jquery解决的办法了,在这里推荐一种同时兼容单击、双击以及长按的原生办法。
fclick
在这里使用到的是一个叫fclick的js库,调用的方法也非常简单,下面是例子
var fc=new fclick(document.getElementsByClassName('block'));
fc.single(function(e){
//单击
//e为event元素
//e.target可以获取被点击的元素
//e.clientX可以获取鼠标X轴位置,Y轴同理
console.log("single"+e.clientX);
})
fc.double(function(e){
//双击
console.log("double"+e.target.getAttribute("id"));
})
fc.longPress(function(e){
//长按
console.log("longPress"+e.target.getAttribute("id"));
})
附上github地址:fclick