解决警告:Unable to preventDefault inside passive event listener due to target being treated as passive.
使用 jquery-weui 的时候,console 里总是提示 Unable to preventDefault inside passive event listener due to target being treated as passive.
,非常烦。
滑动或多次点击时警告[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive.
说明:说一下这个 preventDefault()是个什么鬼,这个是取消默认事件的,如果这个函数起作用的,比如默认的表单提交,a链接的点击跳转,就不好用了。
找到两个解决办法。
方法一
通过传递 passive 为 false 来明确告诉浏览器:事件处理程序调用 preventDefault 来阻止默认滑动行为。
element.addEventListener('touchstart',function () {...},{ passive: false });
方法二
使用全局样式样式去掉。这个方法比较简单,直接在全局 css 里添加一行就好了。
* { touch-action: pan-y; }
问题解决。