移动端click事件无反应或反应慢 touchend事件页面滑动时频繁触发

时间:2023-12-04 22:39:50

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')
});