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

 

相关文章:

  • 2021-12-31
  • 2021-10-01
  • 2021-10-01
  • 2021-10-01
  • 2021-12-23
  • 2021-12-23
  • 2022-12-23
  • 2021-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
  • 2022-03-10
  • 2022-12-23
相关资源
相似解决方案