- stop
阻止事件传递(事件冒泡),即:事件处理只在当前元素的响应方法中响应,响应完毕后事件不继续传播给父元素;
使用事件修饰符<div @click="event1($event)" id="event1"> 内容 <p @click.stop="event2($event)" id="event2">事件传递</p> </div>
stop
后,event2($event)
方法响应完就代表整个事件处理已经完成,事件不继续传递给event1($event)
方法。 - prevent
拦截DOM元素的默认事件;
假如不使用<a @click.prevent="onClick" href="https://www.baidu.com/">百度一下</a>
prevent
,那么当我点击了a标签时,会进行自动跳转。但是当使用prevent
过后,会拦截掉a标签的默认事件,而执行绑定的事件。 - capture
主动捕获元素上的事件
当使用了<div @click.capture="event1($event)" id="event1"> 内容 <p @click="event2($event)" id="event2">事件传递</p> </div>
capture
修饰符之后,如果单击id == “event2”
的元素,会优先执行capture
修饰的事件event1($event)
,然后再执行event2($event)
;如果没有使用修饰符,那么会优先执行event2($event)
,再执行event1($event)
。 - self
只有self
修饰的事件的事件源是响应方法绑定的元素时才触发;
当使用了<div @click.self="event1($event)" id="event1"> 内容 <p @click="event2($event)" id="event2">事件传递</p> </div>
self
修饰符之后,只有单击id == “event1”
的元素,才会触发event1($event)
,单击id == “event2”
的元素时不会触发event1($event)
。 - once
once
修饰的事件响应方法只会响应一次,一旦响应过后就不会再次响应;
当单击<p @click.once="event2($event)" id="event2">事件传递</p>
id == "event2"
的元素时,响应方法event2($event)
只会被执行一次,一旦执行过后就不会再执行了。 - passive
告诉浏览器你不想阻止事件的默认行为;<p @click.passive="event2($event)" id="event2">事件传递</p>
vue.js 中的事件修饰符
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Vue 是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架 vue 的...
- .capture事件修饰符的作用添加事件侦听器时使用事件捕获模式即是给元素添加一个监听器,当元素发生冒泡时,先触发...