touch事件总结
标签(空格分隔): 代码整理
touch事件整理
添加事件监听:
document.getElementById(el).addEventListener('touchstart',touch,false);
document.getElementById(el).addEventListener('touchmove',touch,false);
document.getElementById(el).addEventListener('touchend',touch,false);
处理事件
var startX = 0, endX = 0,
startY = 0, endY = 0;
function touch(e){
if(e.type === "touchstart"){ //处理touchstart事件
e.preventDefault();
var touch = e.touches[0];
startX = touch.pageX;
startY = touch.pageY;
}
if(e.type === "touchmove"){ //处理touchmove事件
e.preventDefault();
var touch = e.touches[0];
var diffX =0, diffY = 0;
endX = touch.pageX;
endY = touch.pageY;
diffX = endX - startX;
diffY = endY - startY;
}
if(e.type === "touchend"){ //处理touchend事件
e.preventDefault();
}
}
touch事件可用来解决click事件300ms延迟的问题,可以用来模拟taphold方法;