前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >事件修饰符

事件修饰符

作者头像
章鱼喵
发布2018-07-04 10:24:04
4420
发布2018-07-04 10:24:04
举报
文章被收录于专栏:codingcodingcoding

默认冒泡

默认情况下,js的事件会向上冒泡,如:以下三个div元素:

<div class="grandfather" @click="catchGrandfather">
    <div class="father" @click="catchFather">
        <div class="son" @click="catchSon"></div>
    </div>
</div>

当我们点击里层的div,会触发外层的div事件

let vm = new Vue({
    el: "#app",
    data: {
    },
    methods: {
        catchSon() {
            console.log('我还小,别抓我啊...');
        },
        catchFather() {
            console.log('我上有老,下有小,各位官爷,手下留情啊...');
        },
        catchGrandfather() {
            console.log('你们这些兔崽子,敢动我这把老骨头试下!');
        }
    }
})

具体代码

冒泡.gif

事件修饰符

vue提供了事件修饰符,可以修改默认的事件触发机制:

  • .stop 阻止冒泡
  • .prevent 阻止默认事件
  • .capture 添加事件侦听器时使用事件捕获模式
  • .self 只当事件在该元素本身(比如不是子元素)触发时触发回调
  • .once 事件只触发一次

.stop 为例:

<div class="grandfather" @click="catchGrandfather">
    <div class="father" @click="catchFather">
        <!-- 阻止此元素向上冒泡 -->
        <div class="son" @click.stop="catchSon"></div>
    </div>
</div>

阻止冒泡.gif

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 默认冒泡
  • 事件修饰符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档