H5页面的点击事件click 无论在浏览器 iframe还是小程序里面 都会出现点击无反应或者反应慢的情况出现
所以决定用touchend事件来代替click
但是touchend事件触发比较灵敏 在滑动页面时 如果不小心触碰有touchend事件的元素都会触发
尤其是在满屏都有touchend元素的页面中 只要稍有滑动都会触发该事件 很无奈
解决方法如下:
监听滑动事件 在滑动事件里面阻止touchend事件
function stopTouchendPropagationAfterScroll() { var locked = false; window.addEventListener('touchmove', function() {
locked || (locked = true, window.addEventListener('touchend', stopTouchendPropagation, true));
}, true); function stopTouchendPropagation(ev) {
ev.stopPropagation();
window.removeEventListener('touchend', stopTouchendPropagation, true);
locked = false;
}
} var divs = $(".go");
stopTouchendPropagationAfterScroll();
divs.on("touchend", function() {
alert('触发touchend')
});