事件的冒泡(Bubble)
所谓的冒泡指的就是事件的向上传导,当后代元素上的事件被触发时,其祖先元素的相同事件也会被触发。
在开发中大部分情况冒泡都是有用的,如果不希望发生事件冒泡可以通过事件对象来取消冒泡
将事件对象的cancelBubble设置为true,即可取消冒泡
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
#span1{
background-color: yellow;
}
</style>
</head>
<body>
<div id=box1>
我是div
<span id="span1">
我是div中的span
</span>
</div>
</body>
<script>
//为span1绑定一个单击响应函数
var span1=document.getElementById("span1");
span1.onclick=function(event){
event=event || window.event;
alert("我是span的单击响应函数");
//取消冒泡
event.cancelBubble=true;
};
//为box1绑定一个单击响应函数
var box1=document.getElementById("box1");
box1.onclick=function(event){
event=event || window.event;
alert("我是div的单击响应函数");
//取消冒泡
event.cancelBubble=true;
};
//为body绑定一个单击响应函数
document.body.onclick=function(){
alert("我是body的单击响应函数");
};
</script>
</html>