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 相关文章推荐
ExtJS Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
Oct 20 Javascript
flexigrid 参数说明
Nov 23 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
Jun 09 Javascript
JS日程管理插件FullCalendar简单实例
Feb 07 Javascript
微信小程序动态的加载数据实例代码
Apr 14 Javascript
JavaScript设计模式之工厂模式简单实例教程
Jul 03 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
Apr 14 Javascript
详解Vue底部导航栏组件
May 02 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
php实现的XML操作(读取)封装类完整实例
2017/02/23 PHP
js使用递归解析xml
2014/12/12 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
2015/02/10 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
利用node.js本地搭建HTTP服务器
2017/04/19 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
2019/09/18 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
表彰大会策划方案
2014/05/13 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
同意报考证明
2015/06/17 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
SQLServer2008提示评估期已过解决方案
2021/04/12 SQL Server
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA