vue學習 四 v-on的事件修飾符和按鍵修飾符

方法只有純粹的數據邏輯,而不是去處理 DOM 事件細節,爲了解決這個問題,Vue.js 爲 v-on 提供了事件修飾符。修飾符是由點開頭的指令後綴來表示的。

  • .stop            阻止事件繼續傳播
  • .prevent          阻止標籤的默認事件發生
  • .capture
  • .self
  • .once            事件只會發生一次
  • .passive
<!-- 阻止單擊事件繼續傳播 -->
<a v-on:click.stop="doThis"></a>

<!-- 提交事件不再重載頁面 -->
<form v-on:submit.prevent="onSubmit"></form>

<!-- 點擊事件將只會觸發一次 -->
<a v-on:click.once="doThis"></a>

<!-- 修飾符可以串聯 -->
<a v-on:click.stop.prevent="doThat"></a>

<!-- 只有修飾符 -->
<form v-on:submit.prevent></form>

<!-- 添加事件監聽器時使用事件捕獲模式 -->
<!-- 即元素自身觸發的事件先在此處理,然後才交由內部元素進行處理 -->
<div v-on:click.capture="doThis">...</div>

<!-- 只當在 event.target 是當前元素自身時觸發處理函數 -->
<!-- 即事件不是從內部元素觸發的 -->
<div v-on:click.self="doThat">...</div>

使用修飾符時,順序很重要;相應的代碼會以同樣的順序產生。因此,用 v-on:click.prevent.self 會阻止所有的點擊,而 v-on:click.self.prevent 只會阻止對元素自身的點擊。 

 

上圖中的.once 事件中,頁面結果就是點一次漲一歲後再點擊就沒有用了;

.stop 事件中,當鼠標移動到“停止移動”處時左邊位置就不再變化了;

.prevent 事件中,當我們點擊a標籤後,只能執行alert方法輸出hello world,不能跳轉到百度了; 

 

按鍵的事件修飾符:

在監聽鍵盤事件時,我們經常需要檢查詳細的按鍵。Vue 允許爲 v-on 在監聽鍵盤事件時添加按鍵修飾符:

意思就是隻有在按下enter鍵之後才能觸發後面的方法

<!-- 只有在 `key` 是 `Enter` 時調用方法 -->
<input v-on:keyup.enter="submit">


<!-- 只有按下alt和enter鍵後調用方法 -->
<input v-on:keyup.alt.enter="submit">
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章