27.28. VUE学习之--事件修饰符之stop&capture&self&once实例详解

本文详细解析了Vue中事件修饰符的使用,包括.stop、.prevent、.self、.capture和.once,通过实例展示了如何控制事件冒泡和阻止默认行为,帮助开发者更好地理解和运用Vue事件处理机制。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <!--<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<div id="hdcms">

    <!--默认是从里向外冒泡响应事件,从子级->父级元素响应事件,-->
    <div @click="box" :style="{border:'solid 2px red'}">
        <!--prevent是阻止点击a连接跳转,stop是阻止从里向外冒泡响应事件,父级的事件不执行-->
        <a href="https://www.cnblogs.com/haima" @click.prevent="links">从里向外冒泡响应事件</a>
    </div>

    <br>

    <!--capture捕获事件,从父级->子级元素响应事件,-->
    <div @click="box" :style="{border:'solid 2px red'}">
        <!--prevent是阻止点击a连接跳转,stop是阻止从里向外冒泡响应事件,父级的事件不执行-->
        <a href="https://www.cnblogs.com/haima" @click.stop.prevent="links">阻止从里向外冒泡响应事件,阻止点击a连接跳转</a>
    </div>

    <br>

    <!--self点到自己才触发事件,点谁谁响应事件-->
    <div @click.self="box" :style="{border:'solid 2px red'}">
        <!--prevent是阻止点击a连接跳转,由于父级加了self,所以就不会向上冒泡响应事件,效果同上面的stop-->
        <a href="https://www.cnblogs.com/haima" @click.prevent="links">父级加self,阻止a标签冒泡响应事件,点谁谁响应事件</a>
    </div>

    <br>
    <!--capture捕获事件,从父级->子级元素响应事件,-->
    <div @click.capture="box" :style="{border:'solid 2px red'}">
        <!--prevent是阻止点击a连接跳转-->
        <a href="https://www.cnblogs.com/haima" @click.prevent="links">从父级->子级元素响应事件</a>
    </div>
    
    <br>

    <!--once是只绑定一次跳转-->
    <div @click="box" :style="{border:'solid 2px red'}">
        <!--prevent是阻止点击a连接跳转-->
        <a href="https://www.cnblogs.com/haima" @click.once.stop.prevent="links">从父级->子级元素响应事件</a>
    </div>
</div>
<script>
    var app = new Vue({
        el: '#hdcms',
        data: {},
        methods: {
            box(){
                alert('div');
            },
            links(){
                alert('www.cnblogs.com/haima');
            }
        }
    });
</script>
</body>
</html>

效果:

1441611-20190108111221643-1854900402.png

转载于:https://www.cnblogs.com/haima/p/10237806.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值