事件委托与阻止冒泡阻止其父元素事件触发
作者:bea
简单说下事件委托与阻止冒泡 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">拉斯维加斯<
简单说下事件委托与阻止冒泡
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被点击");
});
加一句阻止冒泡即可。
有用 | 无用
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被点击");
});
加一句阻止冒泡即可。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- Egret引擎开发指南之编译项目
- js和jquery中循环的退出和继续下一个循环
- Egret引擎开发指南之创建项目
- Mac OS X 系统下安装和部署Egret引擎开发环境
- Windows8下搭建Node.js开发环境教程
- javascript常见操作汇总
- 优化Node.js Web应用运行速度的10个技巧
- 初识Node.js
- node.js适合游戏后台开发吗?
- 浅析Node.js查找字符串功能
- Node.js实现在目录中查找某个字符串及所在文件
- iframe如何动态创建及释放其所占内存
- Javascript正则控制文本框只能输入整数或浮点数
- jquery制作select列表双向选择示例代码
- 一个获取第n个元素节点的js函数
- indexOf 和 lastIndexOf 使用示例介绍
- jquery实现个人中心导航菜单效果和美观都非常不错
- JavaScript判断文件上传类型的方法
- JavaScript中九种常用排序算法