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


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 相关文章推荐
PNG背景在不同浏览器下的应用
Jun 22 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
Nov 04 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
关闭时刷新父窗口两种方法
May 07 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
基于BootStrap实现简洁注册界面
Jul 20 Javascript
vue父组件异步获取数据传给子组件的方法
Jul 26 Javascript
angular-tree-component的使用详解
Jul 30 Javascript
javascript实现简单搜索功能
Mar 26 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
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
PHP反向代理类代码
2014/08/15 PHP
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
Python os模块介绍
2014/11/30 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
用Python编写一个简单的CS架构后门的方法
2018/11/20 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
详解python statistics模块及函数用法
2019/10/27 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
python访问hdfs的操作
2020/06/06 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
举例讲解Python装饰器
2020/12/24 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
阳光体育活动总结
2014/04/30 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android