Unable to preventDefault inside passive event listener due to target being treated as passive

今天引入fastclick.js的时候点击body突然发现报了个错

Unable to preventDefault inside passive event listener due to target being treated as passive

查了下,发现从 chrome56 开始,为提高页面的滑动流畅度,搞了这么个东西。

解决方法主要有两种:

  1. 用css的方式,添加* { touch-action: none; } ,这样任何触摸事件都不会产生默认行为,而 touch 事件照样能触发。
  2. 注册处理函数时,用如下方式,明确声明为不是被动的
    window.addEventListener('touchmove', func, { passive: false })

猜你喜欢

转载自www.cnblogs.com/dxzg/p/9320074.html