vue中的.passive修饰符

1、passive做用html

  详情请参考MDN(https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener)中关于addEventListener中的第三个参数;表示 listener 永远不会调用 preventDefault()。若是 listener 仍然调用了这个函数,客户端将会忽略它并抛出一个控制台警告。vue

2、原理浏览器

  因为 touchstart 事件对象的 cancelable 属性为 true,也就是说它的默认行为能够被监听器经过 preventDefault() 方法阻止,那它的默认行为是什么呢,一般来讲就是滚动当前页面(还多是缩放页面),若是它的默认行为被阻止了,页面就必须静止不动。但浏览器没法预先知道一个监听器会不会调用 preventDefault(),它能作的只有等监听器执行完后再去执行默认行为,而监听器执行是要耗时的,有些甚至耗时很明显,这样就会致使页面卡顿。视频里也说了,即使监听器是个空函数,也会产生必定的卡顿,毕竟空函数的执行也会耗时。(这句话来源:https://www.cnblogs.com/ziyunfei/p/5545439.html)函数

3、vue中的passive修饰符做用性能

  该修饰符表示就是设置{passive:true},表示处理事件函数中不会调用preventDefault函数,就会减小了额外的监听,从而提升了性能;因此不能和.prevent修饰符一同使用,不然浏览器会报错。code

相关文章
相关标签/搜索