当前位置: 代码迷 >> 综合 >> ElementUI校验[Violation] Added non-passive event listener to a scroll-blocking ‘touchmove‘ event. 问题解决
  详细解决方案

ElementUI校验[Violation] Added non-passive event listener to a scroll-blocking ‘touchmove‘ event. 问题解决

热度:74   发布时间:2023-10-21 00:37:45.0

ElementUI表单校验[Violation] Added non-passive event listener to a scroll-blocking ‘touchmove’ event. 解决方案

1.问题描述:
  • vue项目中使用ElementUI的表单form校验单的时候,出现以下警告:
  • [Violation] Added non-passive event listener to a scroll-blocking 'touchmove' event. Consider marking event handler as 'passive' to make the page more responsive.
  • 虽然他不会直接影响项目出现报错或者无法正常运行,但是这系列警告的存在就会为以后项目运行出现未知问题埋下隐患。
2.解决方案:
  • 造成上述问题的原因是:项目没有添加事件管理者’passive’,而在谷歌浏览器里面 Chrome51 版本以后,Chrome 增加了新的事件捕获机制Passive Event Listeners (其作用为: 告诉前页面内的事件监听器内部是否会调用preventDefault函数来阻止事件的默认行为,以便浏览器根据这个信息更好地做出决策来优化页面性能。当属性passive的值为true的时候,代表该监听器内部不会调用preventDefault函数来阻止默认滑动行为,Chrome浏览器称这类型的监听器为被动(passive)监听器。目前Chrome主要利用该特性来优化页面的滑动性能,所以Passive Event Listeners特性当前仅支持mousewheel/touch相关事件。 )。所以这里的解决方案是:安装default-passive-events插件,

  • // 安装插件
    npm install -S default-passive-events
    // 在main.js引入
    import 'default-passive-events'
    
  相关解决方案