default-passive-events导致出现解决滚动背景的问题
问题描述我的项目对接的地图每次鼠标点击、移入移出都会报Unable to preventDefault inside passive event listener invocation.用的绘图工具是js的konva 2D库 创建的地图 。鼠标每次移入此地图画布 ,或者点击画布的时候都会出现该问题。虽然不影响操作,但是对于咱们开发人员来讲却是一个非常头疼的问题,稍有不慎,鼠标经过这个画布都是几十上
问题描述
我的项目对接的地图每次鼠标点击、移入移出都会报
Unable to preventDefault inside passive event listener invocation.
用的绘图工具是js的konva 2D库 创建的地图 。
鼠标每次移入此地图画布 ,或者点击画布的时候都会出现该问题。虽然不影响操作,但是对于咱们开发人员来讲却是一个非常头疼的问题,稍有不慎,鼠标经过这个画布都是几十上百条同样的报错,不管是对客户,对公司还是对自己来讲都是一个非常不好的体验。
原因由于 Chrome 想提高浏览器动画渲染帧数,要修改 eventListener 相关接口,出现了遮罩层无法屏蔽滚动动作的情况。
解决方法
卸载 default-passive-events 包 同时 把main.js中 的引入注释掉,// import ‘default-passive-events’
卸载 default-passive-events 包的方法 npm uninstall default-passive-events
不卸载包 直接把main.js 中的 将该包引入的语句注释掉也能达到效果。
// import ‘default-passive-events’
这个问题已经困扰我了两三天了,也试验了很多办法
在样式中加入
* {
touch-action: pan-x;
}
这个方法也试过并没有解决,也尝试了集中取消监听的方法也没解决,最后查了资料才发现是这个 default-passive-events包的问题。
这是在引用VueKonva 2D 库的时候一起引入的, 希望大家再用这个js的画图工具的时候遇到此问题可以避开。
注意··注意··注意
是default-passive-events包的问题 ,把这个去掉就可以解决这个鼠标移入 或者点击画布出现一堆Unable to preventDefault inside passive event listener invocation.报错的问题了。
解决后:
再也不会出现那个令人头疼的问题了。
更多推荐
所有评论(0)