VUE3 click點(diǎn)擊事件及修飾符詳解
只綁定一個(gè)點(diǎn)擊事件
<button @click="greet">單個(gè)點(diǎn)擊事件</button>
methods:{ greet(){ console.log('單個(gè)點(diǎn)擊事件') } }
一個(gè)標(biāo)簽內(nèi)綁定多個(gè)點(diǎn)擊事件方法
<button @click="one($event), two($event)">多個(gè)點(diǎn)擊事件</button>
methods:{ one(e){ console.log(e) }, two(e){ console.log(e) } }
事件修飾符
.stop 阻止單擊事件繼續(xù)冒泡(適用于出現(xiàn)嵌套點(diǎn)擊事件時(shí))
<div @click="box('我是大box')" style="width:500px; background:red"> <button @click.stop="doThis('我是內(nèi)嵌點(diǎn)擊事件按')">單個(gè)點(diǎn)擊事件</button> </div>
methods:{ doThis(val){ console.log(val) }, box(val){ console.log(val) } }
.prevent 阻止默認(rèn)事件
<form action=""> <!-- 默認(rèn)提交事件 --> <!-- <input type="submit" value="提交"> --> <!-- 阻止默認(rèn)事件 --> <input type="submit" value="提交" @click.prevent="submitCLICK('prevent阻止默認(rèn)事件')"> </form>
methods:{ submitCLICK(val){ console.log(val) } }
.capture 即內(nèi)部元素觸發(fā)的事件先在此處理,然后才交由內(nèi)部元素進(jìn)行處理
<form action=""> <input type="submit" value="提交" @click.capture="submitCLICK('capture先在此處理')"> </form>
methods:{ submitCLICK(val){ console.log(val) } }
.once點(diǎn)擊事件將只會(huì)觸發(fā)一次
<button @click.once="ononce('點(diǎn)擊事件將只會(huì)觸發(fā)一次')">點(diǎn)擊事件將只會(huì)觸發(fā)一次</button>
methods:{ ononce(val){ console.log(val) } }
.passive用在移動(dòng)端的scroll事件,來(lái)提高瀏覽器響應(yīng)速度,提升用戶體驗(yàn)
<!-- 滾動(dòng)事件的默認(rèn)行為 (即滾動(dòng)行為) 將會(huì)立即觸發(fā), --> <div @scroll.passive="onScroll">...</div>
修飾符串聯(lián)使用(按循序執(zhí)行)
// 按循序執(zhí)行先執(zhí)行阻止冒泡事件在執(zhí)行阻止默認(rèn)事件 <a @click.stop.prevent="doThat"></a>
TIP
不要把 .passive 和 .prevent(阻止默認(rèn)事件) 一起使用,因?yàn)?.prevent 將會(huì)被忽略,同時(shí)瀏覽器可能會(huì)向你展示一個(gè)警告。
請(qǐng)記住,.passive 會(huì)告訴瀏覽器你不想阻止事件的默認(rèn)行為。
按鍵修飾符
Vue 為最常用的鍵提供了別名:
.enter
.tab
.delete
(捕獲“刪除”和“退格”鍵).esc
.space
.up
.down
.left
.right
<!-- 只有在 `key` 是 `Enter` 時(shí)調(diào)用 `vm.submit()` 按enter鍵執(zhí)行 --> <input @keyup.enter="submit" /> <!-- 按delete 鍵執(zhí)行 --> <input @keyup.delete="submit" />
系統(tǒng)修飾鍵
.ctrl
.alt
.shift
.meta
<!-- Alt + Enter 時(shí)觸發(fā)--> <input @keyup.alt.enter="clear" /> <!-- Ctrl + Click 按住加點(diǎn)擊時(shí)觸發(fā)--> <div @click.ctrl="doSomething">Do something</div>
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3整合SpringSecurity加JWT實(shí)現(xiàn)登錄認(rèn)證
本文主要介紹了vue3整合SpringSecurity加JWT實(shí)現(xiàn)登錄認(rèn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04vue中eslint導(dǎo)致的報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了vue中eslint導(dǎo)致的報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue2.0實(shí)現(xiàn)調(diào)用攝像頭進(jìn)行拍照功能 exif.js實(shí)現(xiàn)圖片上傳功能
這篇文章主要為大家詳細(xì)介紹了Vue2.0實(shí)現(xiàn)調(diào)用攝像頭進(jìn)行拍照功能,以及圖片上傳功能引用exif.js,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04php+vue3實(shí)現(xiàn)點(diǎn)選驗(yàn)證碼功能
這篇文章主要介紹了php+vue3實(shí)現(xiàn)點(diǎn)選驗(yàn)證碼,本文通過(guò)實(shí)例代碼給大家介紹的詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11Vue3中watch無(wú)法監(jiān)聽(tīng)的解決辦法
本文主要介紹了Vue3中watch無(wú)法監(jiān)聽(tīng)的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05DeepSeek?助力?Vue?開(kāi)發(fā)絲滑的表單驗(yàn)證Form?Validation功能
文章介紹了如何使用Vue3的組合式API創(chuàng)建一個(gè)表單驗(yàn)證組件,并提供了詳細(xì)的代碼示例,組件支持雙向綁定、自定義驗(yàn)證規(guī)則、樣式和布局等功能,還涵蓋了組件的調(diào)用示例、路由配置和頁(yè)面展示入口2025-02-02Vue+ElementUI技巧之自定義表單項(xiàng)label的文字提示方法
這篇文章主要給大家介紹了關(guān)于Vue+ElementUI技巧之自定義表單項(xiàng)label文字提示的相關(guān)資料,文中通過(guò)圖文以及代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02vue路由傳參的基本實(shí)現(xiàn)方式小結(jié)【三種方式】
這篇文章主要介紹了vue路由傳參的基本實(shí)現(xiàn)方式,結(jié)合實(shí)例形式總結(jié)分析了vue.js路由傳參的三種實(shí)現(xiàn)方式,包括params顯示傳參、不顯示參數(shù)以及query顯示參數(shù)傳參,需要的朋友可以參考下2020-02-02