js事件冒泡和事件捕获

事件冒泡和事件捕获,描述的是绑定在DOM元素上的事件在执行时的顺序。

事件冒泡:由内到外(自下而上),也就是,先执行子元素的事件,在执行子元素的父元素事件,依次执行,直至执行到根元素(节点)。

事件捕获:由外到内(自上而下),也就是,先执行父元素的事件,在执行父元素的子元素事件,依次执行,直至执行到最深层次的子元素(节点)。

在原生的JavaScript中,使用addEventListener(event,function,bool)函数进行事件的绑定,第一个参数(event)是绑定的事件类型,第二个参数(function(){})事件触发时执行的回调函数,第三个参数布尔类型定义是事件执行类型为事件冒泡(false)还是事件捕获(true)。

 

<html>
<head></head>
<body>
<div id="parent" style="width:50px;height:50px;background:red;">
<div id="child" class="child" style="width:20px;height:20px;background:blue;"></div>
</div>
<script>
document.getElementById("parent").addEventListener('click',function(e){
alert("parent=="+this.id);
},false);
document.getElementById("child").addEventListener('click',function(e){
alert("child=="+this.id);
},true);
</script>
</body>
</html>

第三个参数为false时,点击蓝色区域,alert()提示框出内容的顺序是:“child==child”,“parent==parent”

第三个参数为true时,点击蓝色区域,alert()提示框出内容的顺序是:“parent==parent”,“child==child”

posted @ 2018-06-20 13:57  为梦l  阅读(101)  评论(0编辑  收藏  举报