事件流,描述的是從頁面中接收事件的順序,可是在IE中的事件流是事件冒泡流,而網景公司的事件流則是事件捕獲流。html
1 <!DOCTYPE html> 2 <head>事件流</head> 3 <body> 4 <div id="mydiv">Click Me</div> 5 </body> 6 </html>
點擊文檔中的Click Me則這個click事件會按照以下順序傳播:瀏覽器
div->body->html->document;spa
click點擊事件首先發生在div元素,而後依次向上傳播,知道document對象。全部現代瀏覽器都支持事件冒泡,可是在具體的實現中仍是有必定的差異,IE5.5及更早的版本中事件冒泡會跳過html,直接從body到document,在IE九、Firefox、Chrome、Safari中則將事件一直冒泡到window對象;firefox
1 <!DOCTYPE html> 2 <head>事件流</head> 3 <body> 4 <div id="mydiv">Click Me</div> 5 </body> 6 </html>
同上面同樣的代碼,可是在事件捕獲中,document首先接收到click事件,而後沿着DOM樹依次向下,一直到Div元素。code
雖然事件捕獲是網景公司惟一支持的事件流模型,可是在IE九、firefox、Chrome、Opera、Safari瀏覽器中也是支持這種事件模型的,儘管「DOM2級事件」規範要求事件應該從document對象開始傳播,可是瀏覽器依然仍是從window對象開始捕獲事件的。htm
由於老版本瀏覽器不支持事件捕獲,因此儘可能使用事件冒泡,特殊須要時使用事件捕獲。對象