vue事件修飾符詳解
vue提倡的是在方法中只有對資料的處理,所以提供了事件修飾符用於DOM的事件處理,常用的事件修飾符有以下幾個:
(1). stop:阻止冒泡(通俗講就是阻止事件向上級DOM元素傳遞)
點選內層div的結果:
點選外層div的結果:
修改程式碼,為內層點選事件新增事件".stop"修飾符:
再次點選內層div的結果如下:
。
(2). prevent:阻止預設事件的發生
預設事件指對DOM的操作會引起自動執行的動作,比如點選超連結的時候會進行頁面的跳轉,點選表單提交按鈕時會 重新載入頁面等,使用".prevent"修飾符可以阻止這些事件的發生。
此時點選超連結不會進行頁面的跳轉。
(3). capture:捕獲冒泡,即有冒泡發生時,有該修飾符的dom元素會先執行,如果有多個,從外到內依次執行,然後再按自 然順序執行觸發的事件。
此時點選最內層div,結果如下:
多個獲取事件 :
點選最內層結果:
(4). self:將事件繫結到自身,只有自身才能觸發,通常用於避免冒泡事件的影響
此時點選最內層:
(5). once:設定事件只能觸發一次,比如按鈕的點選等。
(6). passive:該修飾符大概意思用於對DOM的預設事件進行效能優化,根據官網的例子比如超出最大範圍的滾動條滾動的 方法,可以使用該修飾符進行加強,但是效果並沒有感覺到
--------------------------------------------------------------------------------------------------------------------------------------------
此外,這些修飾符可以根據自己的實際需求結合使用,但使用時一定要注意修飾符的先後順序問題。歡迎補充!!!