关于常用的VUE事件修饰符的使用方法

509 阅读3分钟

1) .stop的使用

.stop的主要作用是阻止冒泡,也就是阻止事件继续向上级传递,意同传统JS事件当中的stopPropagation()。

image.png

image.png

image.png 当没有阻止冒泡时,点击父盒子

image.png
点击子盒子

image.png
当添加了阻止冒泡时,点击父盒子与子盒子

image.png

image.png

image.png
很明显在添加了.stop修饰符后,点击子盒子只会触发其自身的事件,不会发生事件穿透。

2) .prevent的使用

.prevent的主要作用是阻止默认行为,意同传统JS事件当中的preventDefault()。
使用前

image.png
使用后

image.png

3) .capture的使用

通俗来讲在事件嵌套时添加了.capture的事件会优先执行。请看实例:

image.png

image.png

image.png 可以看到在未添加.capture时,点击孙盒子时的执行顺序,下面请看添加了.capture的情况

image.png

image.png
可以看到,添加了.capture的事件优先执行了

4) .self的使用

只有在点击添加了.self的元素时才会执行,不会被事件穿透,请看实例:

image.png

image.png

image.png
在点击孙盒子时,可以看到三个事件都被触发了,下面给父子盒子加上self

image.png

image.png 在点击孙盒子时只会触发自己的事件,不会触发父子的事件

image.png 同样在点击子盒子时也只会触发自己的事件不会触发父组件的事件

5) .once的使用

添加了该属性的事件只会触发一次 image.png 添加once前会多次触发,添加后只会触发一次

image.png

image.png

6) .passive的使用

官网中对该修饰符的介绍大意为对dom的原生事件做优化,例如当发生滚动事件时,滚动行为会立即触发,在wheel事件(鼠标滚轮滚动以及笔记本电脑的触摸板滑动)时更为明显,vue会优先触发事件,再处理事件进行时的副作用,例如回调、滚动后请求数据渲染等等,尤其在做移动端开发时能够大大提升性能。并且不要把 .passive 和 .prevent 一起使用,.prevent 将会被忽略,同时浏览器可能会向你展示一个警告,.passive 会告诉浏览器你不想阻止事件的默认行为

7) 一些键盘修饰符的使用

例: 删除键:delete

image.png

回车键:enter

image.png

tab键:tab

image.png

esc键 :esc

image.png

上下左右键

image.png

ctrl shift alt 键

image.png

两个键同时按下时才触发

image.png

或者三个键同时按下

image.png

亦可以设定当按下某个键时点击事件才可以触发

image.png

.exact 修饰符 可以精准控制系统修饰符组合而成的事件的触发

意为有且只有ctrl被按下时才会被触发 image.png

8) 一些鼠标修饰符的使用

正常情况下只有单击鼠标左键才会触发该事件 image.png
只能鼠标左键也可以这样

image.png
如此这般,就会只有鼠标右键点击时才会生效

image.png
当然还有单击鼠标滚轮时才会触发的修饰符

image.png

最后奉上vue官网中关于修饰符的链接地址cn.vuejs.org/v2/guide/ev…
最后,希望该文章对您能用些许的帮助。

罗翔老师说,人最大的痛苦就是难以跨越知道和做到这个巨大的鸿沟。 2022,更加努力。