今天給大家說下JavaScript中的事件傳播鹿鳖,三個(gè)包裹著的DIV扁眯,都綁定了點(diǎn)擊事件,問:當(dāng)點(diǎn)擊div1時(shí)翅帜,會(huì)發(fā)生什么現(xiàn)象姻檀?
圖片發(fā)自簡(jiǎn)書App
圖片發(fā)自簡(jiǎn)書App
當(dāng)點(diǎn)擊div1時(shí),觸發(fā)事件1涝滴,但是绣版,緊跟著,事件2和事件3也被觸發(fā)了歼疮;
這種現(xiàn)象杂抽,我們稱為事件冒泡
在JS中當(dāng)一個(gè)事件發(fā)生以后,它會(huì)在不同的DOM節(jié)點(diǎn)之間傳播韩脏。這種傳播分成三個(gè)階段:第一階段:從window對(duì)象傳導(dǎo)到目標(biāo)節(jié)點(diǎn)缩麸,稱為捕獲階段。第二階段:在目標(biāo)節(jié)點(diǎn)上觸發(fā)赡矢,稱為目標(biāo)階段杭朱。第三階段:從目標(biāo)節(jié)點(diǎn)傳
導(dǎo)回window對(duì)象阅仔,稱為冒泡階段。
圖片發(fā)自簡(jiǎn)書App
事件傳播的最上層對(duì)象是window弧械;事件的傳播順序八酒,在捕獲階段依次為window、document梦谜、html、body袭景、div唁桩;在冒泡階段依次為div、body耸棒、html荒澡、document、window与殃。
注意:三種事件綁定方式全部默認(rèn)監(jiān)聽冒泡階段事件单山;