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


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 相关文章推荐
JavaScript的setAttribute兼容性问题解决方法
Nov 11 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
详谈JavaScript 匿名函数及闭包
Nov 14 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
javascript实现查找数组中最大值方法汇总
Feb 13 Javascript
微信小程序 绘图之饼图实现
Oct 24 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
May 17 Javascript
[js高手之路]寄生组合式继承的优势详解
Aug 28 Javascript
基于Require.js使用方法(总结)
Oct 26 Javascript
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 jQuery
webpack4.0 入门实践教程
Oct 08 Javascript
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
解决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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
解析PHP生成静态html文件的三种方法
2013/06/18 PHP
php中define用法实例
2015/07/30 PHP
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
React Native 环境搭建的教程
2017/08/19 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
全面了解python字符串和字典
2016/07/07 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python的turtle库使用详解
2019/05/10 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python多线程并发及测试框架案例
2019/10/15 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
Python多线程thread及模块使用实例
2020/04/28 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
温泉秘密:Onsen Secret
2020/07/06 全球购物
招商经理岗位职责
2013/11/16 职场文书
实习教师自我鉴定
2013/12/12 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
员工试用期自我评价
2014/09/18 职场文书
售房协议书范本2014
2014/10/23 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
2015年数学教研组工作总结
2015/05/23 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书