如下圖所示,我們有三個(gè) div 元素踪古。每個(gè)div都有一個(gè)與之關(guān)聯(lián)的點(diǎn)擊處理程序含长。處理程序執(zhí)行以下任務(wù):
Outer div click處理程序?qū)?hello outer打印到控制臺(tái)。
Inner div click處理程序?qū)?hello inner 打印到控制臺(tái)伏穆。
Innermost div click 處理程序?qū)?hello innermost 打印到控制臺(tái)拘泞。
編寫一段代碼來(lái)分配這些任務(wù),以便在單擊innermost div 時(shí)始終打印以下序列枕扫?
hello inner → hello innermost → hello outer
實(shí)現(xiàn):事件流是先捕獲再冒泡陪腌,捕獲階段是從最外層到目標(biāo),冒泡是從目標(biāo)到最外層铡原。所以按照打印的要求偷厦,outer最后打印,所以必須是在冒泡的時(shí)候最后觸發(fā)燕刻,inner是在捕獲階段觸發(fā)只泼。而最內(nèi)層的不管是捕獲還是冒泡階段都是可以的。
且:只有當(dāng) 真正觸發(fā)事件的DOM元素 是內(nèi)層的時(shí)候卵洗,外層DOM元素才有機(jī)會(huì)模擬捕獲事件是冒泡事件