最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3中的事件修飾符詳解

 更新時間:2025年02月05日 08:51:19   作者:冰紅茶-Tea  
Vue3中的事件修飾符包括:.stop(阻止冒泡)、.prevent(阻止默認(rèn)事件)、.self(阻止自身事件)、.capture(打亂冒泡順序)、.once(事件只觸發(fā)一次)和.passive(事件默認(rèn)行為立即執(zhí)行),這些修飾符可以幫助開發(fā)者更靈活地控制事件的處理方式

vue3中事件修飾符

vue3中的事件修飾符有:

   .stop                // 阻止事件傳遞
   .prevent          // 停止默認(rèn)事件
   .self                // 自身執(zhí)行
   .capture         // 使用捕獲模式
   .once             // 只執(zhí)行一次
   .passive         // 立即執(zhí)行

1、.stop

作用:阻止冒泡事件

冒泡事件:子元素的事件傳遞到父元素,即你促發(fā)子元素的click事件,由于冒泡,會使外層的父元素的click事件同時觸發(fā)。

<div @click="shout(1)">
      <button @click="shout(2)">點擊查看內(nèi)容</button>
</div>

內(nèi)容彈出時先觸發(fā)彈出2,再觸發(fā)彈出1。

方法一:在子元素的click后面直接加上.stop,就可以阻止冒泡事件了:

 <div @click="shout(1)">
        <button @click.stop="shout(2)">點擊查看內(nèi)容</button>
 </div>

方法二:使用參數(shù)對象的stopDefault方法,如下:

<div @click="shout(1)">
       <button @click="shout(2)">點擊查看內(nèi)容</button>
</div>
 methods: {
      shout(e){
           e.stopDefault()
       }
}

2、.prevent

作用:阻止瀏覽器的默認(rèn)事件

默認(rèn)事件:移動端瀏覽器的下拉刷新事件、點擊超鏈接會跳轉(zhuǎn)頁面.......

<a  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  @click="showInfo">點我提示信息</a>

如上面的示例,點擊a標(biāo)簽就會跳轉(zhuǎn)到新鏈接,這個時候我們需要阻止默認(rèn)事件,除了去掉href鏈接這個方法外,還可以用prevent阻止默認(rèn)事件。

方法一:在click后面直接加上.prevent,如下:

<a  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  @click.prevent="showInfo">點我提示信息</a>

方法二:使用參數(shù)對象的preventDefault方法,如下:

<a  rel="external nofollow"  rel="external nofollow"  rel="external nofollow"  @click="showInfo($event)">點我提示信息</a>       
methods: {
     showInfo(e){
            e.preventDefault()
      }
}

3、.self

作用:阻止自身事件促發(fā),但不會阻止冒泡

<div class="outer" @click="outer">
    <div class="middle" @click.self="middle"> 
   <button @click="inner">點擊</button>
   </div>
</div>

當(dāng)我們點擊button的時候,先執(zhí)行inner,傳遞到middle,此時middle里有一個.self,.self阻止了middle的click事件,所以繼續(xù)冒泡到outer,執(zhí)行outer的click事件。

結(jié)果:執(zhí)行click事件的順序:inner ----> outer

4、.capture

作用:打亂冒泡順序(即可以理解為給元素添加一個監(jiān)聽器,當(dāng)元素發(fā)生冒泡時,先觸發(fā)帶有該修飾符的元素。若有多個該修飾符,則由外而內(nèi)觸發(fā)。)

<!--  captrue:使用事件的捕捉模式 -->
<div class="box1" @click.capture="showMsg(1)">
      div1 
      <div  class="box2" @click="showMsg(2)">
             div2
      </div>
</div>
上面的執(zhí)行順序是1、2

5、.once

作用:事件只觸發(fā)一次(常用)

6、.passive

作用:事件的默認(rèn)行為立即執(zhí)行,無需等待事件回調(diào)執(zhí)行完畢(不常用)

不要把 .passive 和 .prevent 一起使用,因為 .prevent 將會被忽略。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

葵青区| 抚顺县| 札达县| 南开区| 红原县| 英吉沙县| 贵南县| 泌阳县| 青海省| 黎平县| 睢宁县| 南召县| 开平市| 靖远县| 顺昌县| 湛江市| 资兴市| 鄢陵县| 浦城县| 孟连| 永定县| 绥化市| 富川| 龙里县| 运城市| 那曲县| 栾川县| 苗栗市| 潼南县| 西城区| 长汀县| 平江县| 仁寿县| 岢岚县| 枣阳市| 蓬溪县| 富宁县| 大方县| 揭东县| 祁阳县| 永春县|