最近引用其它第三方组件,使用点击事件的时候(移动端)会报如下警告错误
1 |
Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL> |
由于浏览器必须要在执行事件处理函数之后,才能知道有没有掉用过 preventDefault() ,这就导致了浏览器不能及时响应
像滚动事件也是类似
相应处理解决方案有如下几种:
两个方案:
1、注册处理函数时,用如下方式,明确声明为不是被动的
1 2 |
window.addEventListener('touchmove', func, { passive: false }) |
2、应用 CSS 属性 touch-action: none; 这样任何触摸事件都不会产生默认行为,但是 touch 事件照样触发。