转载自  Vue2学习笔记:事件对象、事件冒泡、默认行为

1.事情对象

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><script src="http://unpkg.com/vue/dist/vue.js"></script><script type="text/javascript">window.onload = function(){var vm = new Vue({el:'#box',methods:{show:function(event){console.log(event);   //event   这个就是事件对象了
                    }}});}</script>
</head>
<body><div id="box"><input type="button" value="按钮" @click="show($event)"> </div>
</body>
</html>

通过show($event)把事件对象传到方法里

2.事件冒泡

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><script src="http://unpkg.com/vue/dist/vue.js"></script><script type="text/javascript">window.onload = function(){var vm = new Vue({el:'#box',methods:{show:function(){alert(1);},show1:function(){alert(2);}}});}</script>
</head>
<body><div id="box"><div @click="show1()"><input type="button" value="按钮" @click="show()"> </div></div>
</body>
</html>

点击按钮的话他会,执行show ,show1方法,依次弹出1,2。

怎么来阻止

<1> 利用我们上面讲过的event对象:  event.cancelBubble = true;   //这种就阻止了

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><script src="http://unpkg.com/vue/dist/vue.js"></script><script type="text/javascript">window.onload = function(){var vm = new Vue({el:'#box',methods:{show:function(event){alert(1);event.cancelBubble = true;},show1:function(){alert(2);}}});}</script>
</head>
<body><div id="box"><div @click="show1()"><input type="button" value="按钮" @click="show($event)"> </div></div>
</body>
</html>

<2>利用vue的方法阻止冒泡:给HTML元素绑定click事件的时候,改为@click.stop="show()"

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><script src="http://unpkg.com/vue/dist/vue.js"></script><script type="text/javascript">window.onload = function(){var vm = new Vue({el:'#box',methods:{show:function(event){alert(1);//event.cancelBubble = true;
                    },show1:function(){alert(2);}}});}</script>
</head>
<body><div id="box"><div @click="show1()"><input type="button" value="按钮" @click.stop="show()"> </div></div>
</body>
</html>

3.默认行为

比如contextmenu右键菜单

<!DOCTYPE html>
<html>
<head><title></title><meta charset="utf-8"><!-- // <script src="vue.js"></script> --><script src="http://unpkg.com/vue/dist/vue.js"></script><script type="text/javascript">window.onload = function(){var vm = new Vue({el:'#box',methods:{show:function(){alert(1);},show1:function(){alert(2);}}});}</script>
</head>
<body><div id="box"><input type="button" value="按钮" @contextmenu="show()"> <input type="button" value="按钮1" @contextmenu.prevent="show1()"> <p>//按钮右击点下去会依次出现 弹窗 1, 还有右击的默认菜单</p><p>//按钮1右击只出现 弹窗 2</p></div>
</body>
</html>

Vue 阻止事件冒泡相关推荐

  1. Js、Vue阻止事件冒泡行为

    目录 Js阻止事件冒泡行为 Vue阻止事件冒泡行为 以下是Js阻止事件冒泡行为 event.stopPropagation() <!DOCTYPE html> <html lang= ...

  2. vue 阻止事件冒泡和捕获

    vue 阻止事件冒泡和捕获 @click.stop : 阻止事件冒泡 @click.prevent : 阻止事件默认行为 @click.self : 事件只作用在元素本身,而不是其子元素

  3. vue 阻止事件冒泡,捕获方法

    要想了解 VUE 阻止事件冒泡和捕获方法,首先要了解一下 JS 事件和 JS 阻止事件冒泡,捕获方法 1. js 事件的三阶段 捕获阶段 目标阶段:执行当前对象的事件处理程序 冒泡阶段 2. js 阻 ...

  4. Vue阻止事件冒泡的两种方式

    1.阻止事件冒泡方式1 如下有父子标签的点击事件 在子类中调用stopPropagation()方法即可禁止事件的传递 boxClick:function () {alert("父标签被点击 ...

  5. vue中阻止事件冒泡

    vue阻止事件冒泡 问题描述: 使用的element-ui的dialog对话框,在对话框的父组件还有点击事件,点击dialog对话框时也会相应外部父组件的点击事件. <el-dialogtitl ...

  6. JS、Vue、React阻止事件冒泡及阻止默认事件

    JS阻止事件冒泡及阻止默认事件解决方案: 1.event.preventDefault -- 阻止默认 Event 接口的 preventDefault()方法,告诉user agent:如果此事件没 ...

  7. Vant 步进器 van-stepper 阻止事件冒泡

    一般情况下 Vue 阻止事件冒泡用 .stop 即可解决 Vue 阻止事件默认行为用 .prevent 解决 今天这里是介绍 Vant 框架里写购物车,需求是购物车中的商品点击也可以进入到商品详情,于 ...

  8. Vue和Js的阻止事件冒泡和阻止默认事件方法

    原生js取消事件冒泡 try{e.stopPropagation();//非IE浏览器}catch(e){window.event.cancelBubble = true;//IE浏览器} 原生js阻 ...

  9. VUE中如何阻止事件冒泡

    当父子元素中都有点击事件的时候,为了让触发子元素中的事件时,不去触发父元素中的事件,可以在子元素事件中添加stop来阻止事件冒泡. 如图,在button的点击事件中加上stop,触发addStatus ...

最新文章

  1. android 自定义图形,Android自定义View之图形图像(模仿360的刷新球自定
  2. entity、model和domain三者区别
  3. 生日蛋糕(信息学奥赛一本通-T1441)
  4. Mr.J--初识Ajax
  5. C++20 即将于年底发布,C++ 23 提上日程!
  6. java发送qq消息_Java点餐系统和点餐小程序新加微信消息推送功能
  7. 政史系列:《社会契约论》读书笔记
  8. schedule调用相关整理
  9. HG255D 刷机备忘
  10. js通过浏览器批量下载图片代码
  11. 蚂蚁庄园 php源码,求一个基于Auto.js的蚂蚁庄园脚本
  12. 数理统计——随机过程
  13. 深入浅出hibernate_夏昕_hibernate别名完成ResultSet和实体的映射
  14. 晨魅--高拍仪二次开发
  15. 如何更改计算机时间和日期,如何更改电脑日期?电脑教程:然后修改
  16. 计算机组装内存条安装,笔记本电脑内存条的正确安装方法
  17. 区块链开发者平台-u deserved it
  18. Private VLAN 与Switchport Protected
  19. 1602液晶显示屏显示字符
  20. iconfont官网中的图标保留其原本的颜色

热门文章

  1. LeetCode 872叶子相似的树-简单
  2. dptcpp 题目 2352: [信息学奥赛一本通-T1440]数的划分-dp
  3. Linear world POJ - 2674(弹性碰撞+技巧)
  4. SQL(一)- 数据库介绍与基础操作
  5. HTMLCSS 超简单的前端设计入门-1!
  6. 数据结构---关键路径
  7. RNN循环神经网络概述
  8. DRDoS(memcache漏洞导致的反射型分布式拒绝服务攻击)
  9. 【CF1311E】Construct the Binary Tree【增量构造】【复杂度证明】
  10. 剑指 Offer 43. 1~n 整数中 1 出现的次数(数位dp)