为了账号安全,请及时绑定邮箱和手机立即绑定

vue测试报错

vue测试报错

慕工程0101907 2018-08-23 20:05:24
[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>由于目标被视为被动的,无法阻止被动事件侦听器内部的默认。看到< URL >我只是来回点击了下
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

你去了解下Passive Event Listeners。
Passive Event Listeners是Chrome提出的一个新的浏览器特性:Web开发者通过一个新的属性passive来告诉浏览器,当前页面内注册的事件监听器内部是否会调用preventDefault函数来阻止事件的默认行为,以便浏览器根据这个信息更好地做出决策来优化页面性能。当属性passive的值为true的时候,代表该监听器内部不会调用preventDefault函数来阻止默认滑动行为,Chrome浏览器称这类型的监听器为被动(passive)监听器。目前Chrome主要利用该特性来优化页面的滑动性能,所以Passive Event Listeners特性当前仅支持mousewheel/touch相关事件。
出现这种情况估计是你点击页面的时候,触发了touch事件,而touch事件默认的passive是true,但是对应的touch事件中又使用了preventDefault, 所以会触发这个错误

解决方案参考:明确告诉浏览器对应事件的passive为false

el.addEventListener(  'touchstart',  fn,
  { passive: false }
);


查看完整回答
反对 回复 2018-08-26
?
绝地无双

TA贡献1946条经验 获得超4个赞

这是警告,不能给passive(被动的)事件监听器使用preventDefault以阻止默认行为

查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 5974 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信