要了解事件冒泡與事件捕獲,首先要知道什麼是事件流html
事件流描述的是從頁面中接受事件的順序,早年根據瀏覽器的不一樣,事件流有兩種徹底相反的概念(IE與Netscape)瀏覽器
1.事件冒泡設計
IE中的事件流就叫作事件冒泡,即時間開始時由最具體的元素接收,而後逐級向上傳播到較爲不具體的節點(引用自JavaScript高級程序設計)】htm
簡單來講,假如頁面中一個id爲div1的div元素綁定了click事件,那麼這個click事件會按照如下順序傳播對象
div->body->html->document事件
而當body-html都綁定了click事件時,點擊div1則會同時逐級觸發父級元素綁定的click事件ip
IE9+、Firefox、Chrome、Safari會將事件一直冒泡到window對象程序設計
根據事件冒泡這一特性,能夠cli
2.事件捕獲引用
事件捕獲是由Netscape Communicator團隊提出的另外一種事件流,和事件冒泡恰好相反
仍然以上面的div1爲例,事件捕獲中的傳播順序就是
document->html->body->div1
也就是說,在事件捕獲中,document對象首先接收到click事件,而後順着DOM樹逐級向下,一直到事件的實際目標