事件修飾符html
prevent修飾符vue
用於阻止默認事件行爲,至關於event.preventDefault(),例如a標籤默認跳轉windows
<div id="app"> <a @click.prevent="fn" href="https://kaiwu.lagou.com/">連接</a> // 能夠添加fn方法也能夠不加 <a @click.prevent href="https://kaiwu.lagou.com/">連接</a> </div>
stop修飾符瀏覽器
點擊按鈕時,div的點擊事件也會觸發app
正確寫法ide
<div @click="fn1"> <button @click.stop="fn2">按鈕</button> </div>
修飾符的結合使用函數
<div @click="fn1"> <a @click.prevent.stop="fn2" href="xxx">連接</a> </div>
once修飾符優化
用於設置事件只會觸發一次ui
<div id="app"> <button @click.once="fn2">按鈕</button> </div>
passive修飾符線程
self修飾符
只當在 event.target 是當前元素自身時觸發處理函數
<div v-on:click.self="doThat">...</div>
按鍵修飾符
按鍵碼:按鍵碼指的是將 按鍵的按鍵碼 做爲修飾符使用,以標識按鍵的操做方式。
<div id="app"> <input type="text" @keyup="fn"> // 指定按鍵鬆開會觸發 </div>
var vm = new Vue({ data:{ }, methods:{ fn(event){ console.log(event) // 內有code,key,keycode(被廢棄) } } }).$mount("#app")
添加按鍵碼修飾符
<div id="app"> <input type="text" @keyup.49="fn"> // 只有keycode49能夠觸發 </div>
若是按鍵是字母,能夠修改成字母修飾符
<div id="app"> <input type="text" @keyup.a="fn"> // 只有a字母能夠觸發 </div>
esc、enter、delete
等功能按鍵,爲了更好的兼容性,應首選內置別名。不一樣設備keycode可能不一致,特殊按鍵用別名
<div id="app"> <input type="text" @keyup.esc="fn"> // 只有 esc 能夠觸發 </div>
按鍵碼的修飾符組合
<div id="app"> <input type="text" @keyup.a.b.c="fn"> // a 或者 b 或者 c 均可以觸發 </div>
系統修飾符
<div id="app"> <input type="text" @keyup.ctrl="fn"> // 點擊 ctrl+c </div>
<div id="app"> <input type="text" @keyup.ctrl.q ="fn"> // 只有 ctrl+q 才能觸發 </div>
鼠標按鍵修飾符
<div id="app"> <input type="text" @keyup.left ="fn"> // 左鍵 才能觸發 </div>
v-model修飾符
trim修飾符
用於自動過濾用戶輸入內容首尾兩端的空格。(input,textarea)
<div id="app"> <input type="text" v-model.trim="inputVal"> // input中首尾空格會被trim移除 <p>{{ inputVal }}</p> </div>
lazy修飾符
每次輸入完畢失去交點時才進行檢測,觸發
<div id="app"> <input type="text" v-model.lazy="inputVal"> // input只有失去焦點纔會更新 <p>{{ inputVal }}</p> </div>
number修飾符
vm.inputVal = "123"
,可使用 .number修飾符進行轉換