jQuery下如何不触发父级元素的事件(jQuery + javascript )

dinojy2012 2011-11-09 03:39:14
有 html 代码如下
<div id="divParent">
<div id="divChild1"></div>
<div id="divChild2"></div>
<div id="divChild3"></div>
<div id="divChild4"></div>
</div>
让这段代码加上Click事件
<script>
$("#divParent").click(function(){
alert("parent clicked");
})
$("#divChild1,#divChild2,#divChild3,#divChild4").click(function(){
alert("child clicked");
})
</script>
如上,当我点击 divChild1
会先后弹出,child clicked , parent clicked
如何保留父级元素的click事件,但同时点击 divChild1 只弹出child clicked ?
...全文
496 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
峭沙 2011-11-09
  • 打赏
  • 举报
回复
$("#divParent").click(function(){
alert("parent clicked");
})
$("#divChild1,#divChild2,#divChild3,#divChild4").click(function(event){
alert("child clicked");
event.stopPropagation();
})
还有$("#divChild1,#divChild2,#divChild3,#divChild4")其实可以换成$("#divParent").children()
光曰不日 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fxfeng2000 的回复:]

引用 2 楼 ycmjh2010 的回复:

或者 return false

return false要慎用,它实际上做了3件事情:
1.event.preventDefault();
2.event.stopPropagation();
3.停止回调函数执行并立即返回。
[/Quote]恩,真没研究过,你的建议收下,晚上研究下
fxfeng2000 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ycmjh2010 的回复:]

或者 return false
[/Quote]
return false要慎用,它实际上做了3件事情:
1.event.preventDefault();
2.event.stopPropagation();
3.停止回调函数执行并立即返回。
光曰不日 2011-11-09
  • 打赏
  • 举报
回复
或者 return false
liangws 2011-11-09
  • 打赏
  • 举报
回复
$("#divChild1,#divChild2,#divChild3,#divChild4").click(function(e){
alert("child clicked");
e.stopPropagation();//阻止冒泡
})

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧