vue绑定的点击事件阻止冒泡的实例


Posted in Javascript onFebruary 08, 2018

当我们在使用vue做项目时,经常用到点击事件的绑定,但是我们绑在一个div上,里面的其他按钮(如删除、修改)等按钮也会加载这儿div的点击事件,而事实我们不需要,如何解决:

首先我们来区分事件冒泡、事件捕获是什么

(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

IE 6.0: div -> body -> html -> document

Mozilla 1.0: div -> body -> html -> document -> window

(2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。

(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。

<span style="font-family:SimSun;font-size:14px;">  <div class="tableContent" v-for="(items,index) in dataList" v-on:click="changeBacks(items)" :class="{tableContentHover:items.changeBack}"> 
   <ul> 
    <li><span><label :class="{labelChange:items.changeBack}">√</label></span><label v-html="items.name"></label> </li> 
    <li><label v-html="items.sex"></label></li> 
    <li><label v-html="items.tel"></label></li> 
    <li> 
     <label v-html="items.age" v-if="items.age<=20" v-bind:class="'black'"></label> 
     <label v-html="items.age" v-else-if="items.age<=40" v-bind:class="'green'"></label> 
     <label v-html="items.age" v-else-if="items.age<=60" v-bind:class="'blue'"></label> 
     <label v-html="items.age" v-else-if="items.age<=80" v-bind:class="'purple'"></label> 
     <label v-html="items.age" v-else v-bind:class="'red'"></label> 
    </li> 
    <li><label v-html="items.profession"></label></li> 
    <li><button v-on:click.stop="deleteThis(index)">删除</button></li> 
   </ul> 
  </div></span>

这个时候在button的点击事件加上.stop,就可以解决以上问题。

以上这篇vue绑定的点击事件阻止冒泡的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
Node.js实现Excel转JSON
Apr 24 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
Nov 05 Javascript
javascript动态生成树形菜单的方法
Nov 14 Javascript
JavaScript如何禁止Backspace键
Dec 02 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
Mar 29 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
ES6基础之默认参数值
Feb 21 Javascript
react 不用插件实现数字滚动的效果示例
Apr 14 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
Aug 14 Javascript
Vue中keep-alive组件的深入理解
Aug 23 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 #Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 #Javascript
Ionic学习日记实现验证码倒计时
Feb 08 #Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 #Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 #Javascript
10 种最常见的 Javascript 错误(频率最高)
Feb 08 #Javascript
Vue组件通信的四种方式汇总
Feb 08 #Javascript
You might like
PHP file_get_contents函数读取远程数据超时的解决方法
2015/05/13 PHP
PHP动态生成指定大小随机图片的方法
2016/03/25 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
详解Python中dict与set的使用
2015/08/10 Python
详解Python import方法引入模块的实例
2017/08/02 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Django 日志配置按日期滚动的方法
2019/01/31 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
浅谈keras中的目标函数和优化函数MSE用法
2020/06/10 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
中式结婚主持词
2014/03/14 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
财务统计员岗位职责
2015/04/14 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
springboot入门 之profile设置方式
2022/04/04 Java/Android
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL