事件委托与阻止冒泡阻止其父元素事件触发


Posted in Javascript onSeptember 02, 2014

简单说下事件委托与阻止冒泡

html:

<ul class="clearfix" data-type="cityPick"> 
<li class="active_sort_opts" data-id="0">全部</li> 
<li data-id="88">纽约</li> 
<li data-id="119">洛杉矶</li> 
<li data-id="138">拉斯维加斯</li> 
<li data-id="84">夏威夷</li> 
<li data-id="120">旧金山</li> 
<li data-id="105">奥兰多</li> 
<li data-id="118">西雅图</li> 
</ul>

js:

$("ul[data-type='cityPick']").on('click',function(){ 
alert("父元素ul被点击"); 
}); 
$("ul[data-type='cityPick']").on('click','li',function(){ 
alert("子元素li被点击"); 
});

当点击具体的li元素时,发现ul的事件也被触发了,这是我们不想看到的。

解决:

$("ul[data-type='cityPick']").on('click',function(){ 
alert("父元素ul被点击"); 
}); 
$("ul[data-type='cityPick']").on('click','li',function(e){ 
e.stopPropagation();//阻止冒泡 
alert("子元素li被点击"); 
});

加一句阻止冒泡即可。

Javascript 相关文章推荐
动态为事件添加js代码示例
Feb 15 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
js document.write()使用介绍
Feb 21 Javascript
js中取得变量绝对值的方法
Jan 03 Javascript
js函数与php函数的区别实例浅析
Jan 12 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 Javascript
Javascript中Date类型和Math类型详解
Feb 27 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
Boostrap入门准备之border box
May 09 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 Javascript
微信小程序基于Taro的分享图片功能实践详解
Jul 12 Javascript
vue中在vuex的actions中请求数据实例
Nov 08 Javascript
解决jquery版本冲突的有效方法
Sep 02 #Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 #Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 #Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 #Javascript
理解javascript中的回调函数(callback)
Sep 02 #Javascript
详解js闭包
Sep 02 #Javascript
jquery delay()介绍及使用指南
Sep 02 #Javascript
You might like
sony ICF-2010 拆解与改装
2021/03/02 无线电
使用PHP socke 向指定页面提交数据
2008/07/23 PHP
ThinkPHP模型详解
2015/07/27 PHP
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
JavaScript提升性能的常用技巧总结【经典】
2016/06/20 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
如何通过JS实现日历简单算法
2020/10/14 Javascript
实现vuex原理的示例
2020/10/21 Javascript
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
Python编程实现正则删除命令功能
2017/08/30 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
Python 使用type来定义类的实现
2019/11/19 Python
python列表返回重复数据的下标
2020/02/10 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
运动会解说词100字
2014/01/31 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
个人授权委托书
2014/09/15 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技