Vue 阻止事件冒泡
转载自 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 阻止事件冒泡相关推荐
- Js、Vue阻止事件冒泡行为
目录 Js阻止事件冒泡行为 Vue阻止事件冒泡行为 以下是Js阻止事件冒泡行为 event.stopPropagation() <!DOCTYPE html> <html lang= ...
- vue 阻止事件冒泡和捕获
vue 阻止事件冒泡和捕获 @click.stop : 阻止事件冒泡 @click.prevent : 阻止事件默认行为 @click.self : 事件只作用在元素本身,而不是其子元素
- vue 阻止事件冒泡,捕获方法
要想了解 VUE 阻止事件冒泡和捕获方法,首先要了解一下 JS 事件和 JS 阻止事件冒泡,捕获方法 1. js 事件的三阶段 捕获阶段 目标阶段:执行当前对象的事件处理程序 冒泡阶段 2. js 阻 ...
- Vue阻止事件冒泡的两种方式
1.阻止事件冒泡方式1 如下有父子标签的点击事件 在子类中调用stopPropagation()方法即可禁止事件的传递 boxClick:function () {alert("父标签被点击 ...
- vue中阻止事件冒泡
vue阻止事件冒泡 问题描述: 使用的element-ui的dialog对话框,在对话框的父组件还有点击事件,点击dialog对话框时也会相应外部父组件的点击事件. <el-dialogtitl ...
- JS、Vue、React阻止事件冒泡及阻止默认事件
JS阻止事件冒泡及阻止默认事件解决方案: 1.event.preventDefault -- 阻止默认 Event 接口的 preventDefault()方法,告诉user agent:如果此事件没 ...
- Vant 步进器 van-stepper 阻止事件冒泡
一般情况下 Vue 阻止事件冒泡用 .stop 即可解决 Vue 阻止事件默认行为用 .prevent 解决 今天这里是介绍 Vant 框架里写购物车,需求是购物车中的商品点击也可以进入到商品详情,于 ...
- Vue和Js的阻止事件冒泡和阻止默认事件方法
原生js取消事件冒泡 try{e.stopPropagation();//非IE浏览器}catch(e){window.event.cancelBubble = true;//IE浏览器} 原生js阻 ...
- VUE中如何阻止事件冒泡
当父子元素中都有点击事件的时候,为了让触发子元素中的事件时,不去触发父元素中的事件,可以在子元素事件中添加stop来阻止事件冒泡. 如图,在button的点击事件中加上stop,触发addStatus ...
最新文章
- android 自定义图形,Android自定义View之图形图像(模仿360的刷新球自定
- entity、model和domain三者区别
- 生日蛋糕(信息学奥赛一本通-T1441)
- Mr.J--初识Ajax
- C++20 即将于年底发布,C++ 23 提上日程!
- java发送qq消息_Java点餐系统和点餐小程序新加微信消息推送功能
- 政史系列:《社会契约论》读书笔记
- schedule调用相关整理
- HG255D 刷机备忘
- js通过浏览器批量下载图片代码
- 蚂蚁庄园 php源码,求一个基于Auto.js的蚂蚁庄园脚本
- 数理统计——随机过程
- 深入浅出hibernate_夏昕_hibernate别名完成ResultSet和实体的映射
- 晨魅--高拍仪二次开发
- 如何更改计算机时间和日期,如何更改电脑日期?电脑教程:然后修改
- 计算机组装内存条安装,笔记本电脑内存条的正确安装方法
- 区块链开发者平台-u deserved it
- Private VLAN 与Switchport Protected
- 1602液晶显示屏显示字符
- iconfont官网中的图标保留其原本的颜色
热门文章
- LeetCode 872叶子相似的树-简单
- dptcpp 题目 2352: [信息学奥赛一本通-T1440]数的划分-dp
- Linear world POJ - 2674(弹性碰撞+技巧)
- SQL(一)- 数据库介绍与基础操作
- HTMLCSS 超简单的前端设计入门-1!
- 数据结构---关键路径
- RNN循环神经网络概述
- DRDoS(memcache漏洞导致的反射型分布式拒绝服务攻击)
- 【CF1311E】Construct the Binary Tree【增量构造】【复杂度证明】
- 剑指 Offer 43. 1~n 整数中 1 出现的次数(数位dp)