事件冒泡:
微软提出了名为事件冒泡(event bubbling)的事件流
事件冒泡可以形象地比喻为把一颗石头投入水中 泡泡会一直从水底冒出水面
也就是说 事件会从最内层的元素开始发生 一直向上传播 直到document对象
因此 在事件冒泡的概念下在p元素上发生click事件的顺序应该是:
p -> div -> body -> html -> document
事件捕获:
网景提出另一种事件流名为事件捕获(event capturing)
与事件冒泡相反 事件会从最外层开始发生 直到最具体的元素
因此 在事件捕获的概念下在p元素上发生click事件的顺序应该是:
document -> html -> body -> div -> p
在微软和网景打得火热之时 W3C采用折中的方式制定了统一的标准——先捕获再冒泡
addEventListener()的第三个参数就是为冒泡和捕获准备的
防止事件冒泡和捕获
采用W3C标准的浏览器和采用IE标准的浏览器 所使用的方法是不同的:
W3C:e.stopPropagation()
IE:e.cancelBubble = true
(e:event 即事件)