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 相关文章推荐
任意位置显示html菜单
Feb 01 Javascript
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
jQuery 添加/移除CSS类实现代码
Feb 11 Javascript
深入理解JS中的变量及作用域、undefined与null
Mar 04 Javascript
echarts3 使用总结(绘制各种图表,地图)
Jan 05 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
写jQuery插件时的注意点
Feb 20 Javascript
JavaScript实现的选择排序算法实例分析
Apr 14 Javascript
jquery图片放大镜效果
Jun 23 jQuery
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
Aug 23 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
Vue 中使用 typescript的方法详解
Feb 17 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核心代码分析require和include的区别
2011/01/02 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
详解vue中async-await的使用误区
2018/12/05 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
贷款担保书范文
2014/05/13 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
上班离岗检讨书
2014/09/10 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
新手,如何业余时间安排好写作、提高写作能力?
2019/10/21 职场文书
导游词之神仙居景区
2019/11/15 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL