事件的冒泡和捕获分别由微软和网景公司提出,这两个概念的提出都是为了解决页面中的事件流(事件发生顺序)的问题。
1.事件冒泡
微软首先提出了事件冒泡,事件按照从最特定的事件目标到最不特定的事件目标,也可以简单理解为事件从内到外开始发生。
当我们点击绿色快,即id为son的div,会依次打印出3,2,1
2.事件捕获
网景提出了另一种事件流,名字为事件捕获,事件从最不精确的对象开始出发,与冒泡事件恰恰相反,事件从外到内开始出发。
这个时候我们需要在js代码中的addEventListener后加入一个true值,如果不写,则boolen值默认为false,采用冒泡事件
这个时候我们再点击绿色快,则依次打印出1,2,3
3.阻止事件捕获
e.stopPropagation()
这个时候我们再点击div3,则只能打印出3,e.stopPropagation() api会阻止事件冒泡的发生。
网友评论