- 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>
网友评论