码迷,mamicode.com
首页 > 其他好文 > 详细

解决mui错误:Unable to preventDefault inside passive event listener due to target being treated as passive.

时间:2020-01-14 12:54:19      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:mui   事件处理   ide   控制台   rev   targe   表单   com   mic   

问题描述:点击返回按钮时,每次在控制台都出现如下错误:

技术图片

 mui.min.js:13 Unable to preventDefault inside passive event listener due to target being treated as passive.

解决办法

定位到mui.min.js的报错行,发现报错的代码是a.preventDefault(),遂在mui.min.js中将a.preventDefault()注释掉,问题解决。

问题分析

preventDefault() 函数具体实现什么功能?注释掉对具体功能有没有影响呢?

preventDefault() 方法阻止元素发生默认的行为(例如,当点击提交按钮时阻止对表单的提交)。例如:可以利用event.preventDefault()阻止a标签跳转。

由于浏览器无法预先知道一个事件处理函数中会不会调用 preventDefault(),它需要等到事件处理函数执行完后,才能去执行默认行为,然而事件处理函数执行是要耗时的,这样一来就会导致页面卡顿,也就是说,当浏览器等待执行事件的默认行为时,大部分情况是白等了。

如果 Web 开发者能够提前告诉浏览器:“我不调用 preventDefault 函数来阻止事件事件行为”,那么浏览器就能快速生成事件,从而提升页面性能,Passive event listeners 的提出就解决了这样的问题。

 

在我的项目中,通过注释掉preventDefault()成功解决了控制台报错的问题,暂时未发现影响其他功能。

解决mui错误:Unable to preventDefault inside passive event listener due to target being treated as passive.

标签:mui   事件处理   ide   控制台   rev   targe   表单   com   mic   

原文地址:https://www.cnblogs.com/bossing/p/12191176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!