使用 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; } 

问题解决。

标签: css, js

添加新评论