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

<!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>

效果:

posted @ 2019-01-08 11:06  HaimaBlog  阅读(284)  评论(0编辑  收藏  举报