理解DOM事件流的三個(gè)階段
用術(shù)語(yǔ)說流是對(duì)輸入輸出設(shè)備的抽象。以程序的角度說,流是具有方向的數(shù)據(jù)简十。
事件流之事件冒泡與事件捕獲
瀏覽器發(fā)展的過程中俱尼,開發(fā)團(tuán)隊(duì)遇到了一個(gè)問題。那就是頁(yè)面中的哪一部分擁有特定的事件色冀?
可以想象畫在一張紙上的一組同心圓,如果你把手指放在圓心上,那么你的手指指向的其實(shí)不是一個(gè)圓幔嗦,而是紙上所有的圓。放到實(shí)際頁(yè)面中就是沥潭,你點(diǎn)擊一個(gè)按鈕邀泉,事實(shí)上你還同時(shí)點(diǎn)擊了按鈕所有的父元素。
開發(fā)團(tuán)隊(duì)的問題就在于叛氨,當(dāng)點(diǎn)擊按鈕時(shí)呼渣,是按鈕最外層的父元素先收到事件并執(zhí)行,還是具體元素先收到事件并執(zhí)行寞埠?所以這兒引入了事件流的概念屁置。
事件流所描述的就是從頁(yè)面中接受事件的順序。
因?yàn)橛袃煞N觀點(diǎn)仁连,所以事件流也有兩種蓝角,分別是事件冒泡和事件捕獲。現(xiàn)行的主流是事件冒泡饭冬。