浏览器页面警告:[Violation] Added non-passive event listener to a scroll-blocking <some> event. Consider marking event handler as 'passive' to make the page more responsive. See <URL>
出现原因:页面中的echarts图表缩放后在控制台就会出现以下提醒
Chrome51 版本更新以后,增加了新的事件捕获机制-Passive Event Listeners。
Passive Event Listeners 就是告诉前页面内的事件监听器内部是否会调用 preventDefault 函数来阻止事件的默认行为,便于优化页面滑动的性能,所以Passive Event Listeners特性当前只支持mousewheel/touch相关事件。
解决:
下载default-passive-events
npm i default-passive-events
全局引入:
import 'default-passive-events';
问题:这个default-passive-events插件使用后页面的其他默认事件都会报Unable to preventDefault inside passive event listener invocation的错误(无法在被动事件侦听器调用中防止Default的错误)