jquery的子代选择器为什么也会触发父级元素的事件呢?

zu_long 2016-08-27 09:52:21
父级元素和子级元素分别都有绑定事件,父级元素的时间可以独立触发,但是触发子级元素的时间也会把父级元素的时间也触发了。这是怎么回事呢?又怎样解决这种问题?求大神指点,小弟刚自学jquery。
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
<script src="jquery-3.1.0.js"></script>
<style>
#box1{
width: 100px;
height: 100px;
background: #ee88aa;
margin: 20px auto;

}
#box2{
width: 100px;
height: 100px;
background: #7821ff;
margin: 20px auto;
}
#box1 #box1-2{
background: yellow;
width: 50px;
height:50px;
margin:auto;
}
</style>
</head>
<body>

<div id="box1" class="myclass">
一级div
<div id="box1-2">
二级div
</div>
</div>

<div id="box2" class="notmyclass">notmyclass</div>
</body>
</html>


<script>
$(document).ready(function () {
$(".myclass>#box1-2").click(function () {
$(this).html("我变了").css('background','#eee')
});
$('div.myclass').click(function () {
$(this).css('background',"#ee88ff");
});

})
</script>
...全文
186 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zu_long 2016-08-28
  • 打赏
  • 举报
回复
谢谢各位,已经知道怎么一回事了。
天际的海浪 2016-08-27
  • 打赏
  • 举报
回复
事件是会向父元素冒泡的。 可以在子元素事件中用 event.stopPropagation() 停止事件冒泡
似梦飞花 2016-08-27
  • 打赏
  • 举报
回复
事件冒泡 自己查 阻止冒泡

87,910

社区成员

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

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