Vue2.js学习笔记-03(事件修饰符)

一、回顾

在上次的学习过程中,学到了一些vue指令的基本用法,其中v-on指令可以进行事件的绑定,针对这个指令,还有其他的一些修饰符,这是我今天的学习内容。

二、事件修饰符

常用的事件修饰符主要有:

.stop         阻止事件冒泡
.prevent      阻止默认事件
.self         事件作用于元素自身时触发
.once         事件只触发一次
.capture      让事件以捕获的机制触发

  实例代码如下:

<body>
    <div id = "app">

       <div  @click="outerClick" style="height: 200px; width: 200px; background-color: aqua;">
           我是外部
           <!-- 使用stop修饰符阻止事件冒泡,如果不使用stop修饰符,当点击内部div时,会触发外部div的点击事件 -->
           <div  @click.stop="innerClick" style="height: 100px; width: 100px; background-color: blue;">我是内部</div>
       </div>

       <br>
       <!-- 使用prevnt修饰符阻止a标签的默认跳转事件 -->
       <a href="https://wwww.baidu.com" @click.prevent>点我去百度</a><br><br>

    
       <!-- 使用self修饰符,只有当事件在该元素本身才触发,点击子元素不会被触发 -->
       <div  @click.self="outerClick" style="height: 200px; width: 200px; background-color: aqua;">
            我是外部
            <div  style="height: 100px; width: 100px; background-color: blue;">我是内部</div>
        </div>

       <!-- 使用once修饰符,事件只触发一次 -->
       <div  @click.once="click" style="height: 100px; width: 100px; background-color: blue;">我是一个div</div>


       <!-- 使用capture修饰符,实现捕获触发事件的机制,如果不使用的话,当我们点击内部div时,先出发内部的点击事件,使用后,先触发外部的点击事件-->
       <div  @click.capture="outerClick" style="height: 200px; width: 200px; background-color: aqua;">
            我是外部
            <!-- 使用stop修饰符阻止事件冒泡,如果不适用stop修饰符,当点击内部div时,会触发外部div的点击事件 -->
            <div  @click ="innerClick" style="height: 100px; width: 100px; background-color: blue;">我是内部</div>
        </div>

    </div>
 
    <script src="../js/vue.2.6.10.js"></script>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                msg: ""
            },
            methods: {
                outerClick(){
                    alert("外部被点击了!");
                },
                innerClick(){
                    alert("内部被点击了!");
                },
                click(){
                    alert("被点击了!");
                }
            },
        })
    </script>
</body>

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值