ios safari处理偶尔点击事件没有触发的情况(有用),附上禁止放大

苹果用户经常反馈 我经常要点击好几次才进去
不管是使用 @tap @click都不行
什么样式上 加 cursor pointer 什么委托都试了试都不行

最后试了试 touch事件 才发现可以解决我的问题。难受

最好在移动端还是使用touch事件比较好
@touchend 我就是用的这个事件处理好了

最后附上一个 也是经常碰见的坑就是 ios10以上双手和双击还是可以放大的问题
万能的网友

<script>
  window.onload = function () {
    
    
    // 阻止双击放大
    var lastTouchEnd = 0;
    document.addEventListener('touchstart', function (event) {
    
    
      if (event.touches.length > 1) {
    
    
        event.preventDefault();
      }
    });
    document.addEventListener('touchend', function (event) {
    
    
      var now = (new Date()).getTime();
      if (now - lastTouchEnd <= 300) {
    
    
        event.preventDefault();
      }
      lastTouchEnd = now;
    }, false);

    // 阻止双指放大
    document.addEventListener('gesturestart', function (event) {
    
    
      event.preventDefault();
    });
  }
</script>

关注我 持续更新前端知识。最近身体有点不舒服。可能以后不怎么会更新博客哎。

猜你喜欢

转载自blog.csdn.net/yunchong_zhao/article/details/123695648
今日推荐