document.write('
解析:
IE 内核的浏览器事件模型是冒泡型事件。也就是说,在 IE 内核下,事件句
柄的触发顺序是从 ChildNode 到 ParentNode。
<div id="ancestor">
 <button id="child">
 Open the console and click me
 </button>
</div>
以上的 HTML 代码在 IE 内核下,事件是这样传播的:
Button#child;
div#ancestor;
Body;
Document
切记! IE 的内核是没有捕获事件过程的,那么在 DOM 标准的浏览器中,
事件传播的过程又是怎样的呢?我们依然拿上面的 HTML 代码作为例子,在
DOM 标准的浏览器事件中是这样传播的:
Window
Document
Body
div#ancestor
Button#child
捕获事件
div#ancestor
Body
Document
Window
DOM 标准的浏览器中多了一个事件捕获过程,也就是说,当开发者在一个
元素上注册了事件后,这个事件的响应顺序是从 window(顶层)开始一级一级
地向下传播,然后到了该元素后事件捕获过程结束,事件开始冒泡,一级一级
向父层元素冒泡(请注意第 6 步)。当然了,开发者可以很轻松地决定 DOM 标
准的浏览器中的事件需要在哪个传播过程触发,这就需要谈一下事件的注册机
制。
DOM 标准的浏览器事件是通过 addEventListener 方法注册的,而 IE 内核的

浏览器则是通过 attachEvent 方法注册的。 

');