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 开始,为提高页面的滑动流畅度,搞了这么个东西。
解决方法主要有两种:
- 用css的方式,添加* { touch-action: none; } ,这样任何触摸事件都不会产生默认行为,而 touch 事件照样能触发。
- 注册处理函数时,用如下方式,明确声明为不是被动的
window.addEventListener('touchmove', func, { passive: false })