1. 程式人生 > >vue中事件修飾符詳解(stop, prevent, self, once, capture, passive)

vue中事件修飾符詳解(stop, prevent, self, once, capture, passive)

==.stop== 是阻止冒泡行為,不讓當前元素的事件繼續往外觸發,如阻止點選div內部事件,觸發div事件
==.prevent== 是阻止事件本身行為,如阻止超連結的點選跳轉,form表單的點選提交
==.self== 是隻有是自己觸發的自己才會執行,如果接受到內部的冒泡事件傳遞訊號觸發,會忽略掉這個訊號
==.capture== 是改變js預設的事件機制,預設是冒泡,capture功能是將冒泡改為傾聽模式
==.once== 是將事件設定為只執行一次,如 .click.prevent.once 代表只阻止事件的預設行為一次,當第二次觸發的時候事件本身的行為會執行
==.passive== 滾動事件的預設行為 (即滾動行為) 將會立即觸發,而不會等待 onScroll
完成。這個 .passive 修飾符尤其能夠提升移動端的效能。

.passive 和 .prevent 不能一起使用:

  • .prevent 將會被忽略

.self 和 .stop 區別:

  • self只響應當前元素自身觸發的事件,不會響應經過冒泡觸發的事件,並不會阻止冒泡繼續向外部觸發。
  • stop是從自身開始不向外部發射冒泡訊號

覺得有幫助的小夥伴點個