Vue 事件处理 -- 事件修饰符(prevent、stop、capture、self、once)
修饰符.passive:
背景:
每次事件产生,浏览器都会去查询一下是否有preventDefault阻止该次事件的默认动作。
再通俗点说就是不管你写了没写阻止默认行为,浏览器都会去查询一下,看你到底阻止了没有。
查询就需要时间成本,为了让我们的滚动事件更加平滑,提前告诉浏览器别查询了。我不阻止。
我们加上passive就是为了告诉浏览器,不用查询了,我们没用preventDefault阻止默认动作。
总结:
passive主要用在移动端的scroll事件,来提高浏览器响应速度,提升用户体验。因为passive=true等于提前告诉了浏览器,touchstart和touchmove不会阻止默认事件,手刚开始触摸,浏览器就可以立刻给与响应;否则,手触摸屏幕了,但要等待touchstart和touchmove的结果,多了这一步,响应时间就长了,用户体验也就差了。