事件流
- 事件流描述的是從頁面中接收事件的順序。
- IE 的事件流是事件冒泡流,而Netscape Communicator 的事件流是事件捕獲流。
1、事件冒泡
- IE 的事件流叫做事件冒泡(eventbubbling),即事件開始時由最具體的元素(文檔中嵌套層次最深的那個節(jié)點)接收,然后逐級向上傳播到較為不具體的節(jié)點(文檔)。
<!DOCTYPE html>
<html>
<head>
<title>Event Bubbling Example</title>
</head>
<body>
<div id="myDiv">Click Me</div>
</body>
</html>
如果你單擊了頁面中的<div>元素,那么這個click 事件會按照如下順序傳播.
(1) <div>
(2) <body>
(3) <html>
(4) document

事件冒泡.png
2、事件捕獲
- 事件捕獲的思想是不太具體的節(jié)點應該更早接收到事件,而最具體的節(jié)點應該最后接收到事件。
- 事件捕獲的用意在于在事件到達預定目標之前捕獲它。
單擊<div>元素就會以下列順序觸發(fā)click 事件。
(1) document
(2) <html>
(3) <body>
(4) <div>

事件捕獲.png
3、DOM事件流
- “DOM2級事件”規(guī)定的事件流包括三個階段:事件捕獲階段、處于目標階段和事件冒泡階段。
-
首先發(fā)生的是事件捕獲,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡階段,可以在這個階段對事件做出響應。
事件觸發(fā)順序.png
好好學習

