事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件。相反的,事件冒泡是自下而上的去触发事件。绑定事件方法addEventListener("",触发事件的方法,捕获/冒泡)的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。Jquery的e.stopPropagation会阻止冒泡。
先父节点捕获->子节点捕获->子节点冒泡->父节点冒泡
举例:
<div class="dd" id="bb">
hello
<div id="cc" style="color: green">
world
</div>
</div>
JavaScript部分:<script type="text/javascript">
var bb=document.getElementById("bb");
var cc=document.getElementById("cc");
//cc.style.color="red";
cc.addEventListener("click",function(){
alert("子节点捕获!")
},true);
cc.addEventListener("click",function(){
alert("子节点冒泡!")
},false);
bb.addEventListener("click",function(){
alert("父节点捕获")
},true);
bb.addEventListener("click",function(){
alert("父节点冒泡")
},false);
</script>
先父节点捕获->子节点捕获->子节点冒泡->父节点冒泡