vue.js - 事件修飾符
阿新 • • 發佈:2018-11-09
事件修飾符
.stop : 阻止事件冒泡
.prevent : 阻止預設事件
.once : 只生效一次
<!-- 阻止單擊事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再過載頁面,阻止預設事件 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修飾符可以串聯 --> <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> <!-- 點選事件將只會觸發一次 --> <a v-on:click.once="doThis"></a> <!-- 滾動事件的預設行為 (即滾動行為) 將會立即觸發 --> <!-- 而不會等待 `onScroll` 完成 --> <!-- 這其中包含 `event.preventDefault()` 的情況 --> <div v-on:scroll.passive="onScroll">...</div>
使用修飾符時,順序很重要;
相應的程式碼會以同樣的順序產生。
因此,用 v-on:click.prevent.self
會阻止所有的點選,
而 v-on:click.self.prevent
只會阻止對元素自身的點選。