- 正常情况下,浏览器要在执行事件处理函数之后才知道是否调用preventDefault()阻止默认事件,这就导致了浏览器响应滑动有延迟。从chrome56开始,在 window、document 和 body 上注册的 touchstart 和 touchmove 事件处理函数,会默认为是 passive: true。
- 翻找发现是日历组件vue-hash-calendar中TimePicker组件存在e.preventDefault() 且项目中安装了依赖 default-passive-events
- 没找到更优雅的解决办法,毕竟组件在node_modules中不好改,在项目中
body{ touch-action: none;}
并未生效,只能暂时npm uninstall default-passive-events
解决
前端滚动警告Unable to preventDefault inside passive event listener due to target being treated as passive.
最新推荐文章于 2024-08-16 08:11:46 发布