通俗的理解事件冒泡:就是父标签绑定一个方法,子标签会默认执行,就算子标签执行完自身绑定的方法后,也会再执行一遍父标签的方法。
阻止冒泡事件:简单的方式就是在子标签中添加 event.cancelBubble=true;即可
演示下面的代码
页面上,我点击ccc的话,如果没有阻止冒泡事件的话,会有两个弹窗,alert(c),alert(b)
如果设置阻止事件冒泡的话,只会有一个弹窗弹出alert(c)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="a">aaa
<div id="b">bbb
<div id="c">ccc</div>
</div>
</div>
</body>
<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
<script>
var $=function(idname){
return document.getElementById(idname);
}
$("b").onclick=function(){
alert("b")
}
$("c").onclick=function(){
event.cancelBubble=true;
alert("c")
}
</script>
</html>