Vue框架中的事件修饰符详解

    xiaoxiao2025-06-02  92

    Vue框架中的事件修饰符

    修饰符含义.stop阻止冒泡.prevent阻止默认事件.capture添加事件监听器时使用事件捕获模式.self只当事件在该元素本身触发事件once事件只触发一次

    主要代码演示:

    由于script代码和css代码一样,在此只写一份:

    <style> .inner{ width: 500px; height: 100px; background-color: pink; } </style> <script> var vm = new Vue({ el: '#app', data:{ }, methods:{ divHandler(){ console.log("触发了div的点击事件") }, btnHnadler(){ console.log("触发了按钮的点击事件") }, linkClick(){ console.log("prevent阻止了link的默认跳转事件") } } }); </script>

    当没有任何修饰符修饰时

    <div id="app"> <div class="inner" @click = "divHandler"> <input type="button" value="你猜点击会不会冒泡" @click = "btnHnadler"> </div> </div>

    结果

    .stop

    <div id="app"> <div class="inner" @click = "divHandler"> <!-- 事件修饰符stop可以阻止事件冒泡--> <input type="button" value="你猜点击会不会冒泡" @click.stop = "btnHnadler"> </div> </div>

    结果

    .prevent

    <div id="app"> <!--事件修饰符prevent可以阻止默认事件--> <a href="http://www.baidu.com" @click.prevent = "linkClick">有问题上百度</a> </div>

    结果

    .capture

    <div id="app"> <!-- 事件修饰符capture可以捕获触发事件的机制--> <div class="inner" @click.capture = "divHandler"> <input type="button" value="你猜点击会不会冒泡" @click = "btnHnadler"> </div> </div>

    结果

    .self

    <div id="app"> <!--事件修饰符self可以实现只有点击当前元素才会触发事件处理机制--> <div class="inner" @click.self = "divHandler"> <input type="button" value="你猜点击会不会冒泡" @click = "btnHnadler"> </div> </div> </div>

    结果

    .once

    <div id="app"> <!--事件修饰符prevent可以阻止默认事件--> <!--事件修饰符once只会触发一次事件处理函数--> <a href="http://www.baidu.com" @click.prevent.once = "linkClick">有问题上百度</a> </div>

    结果

    注: 本次结果需要自己去实验,截图并不能很好的理解含义,只有自己真正动手去做才能体会其中的含义。

    最新回复(0)