JavaScript的事件是以一種流的形式存在的滞造,一個(gè)事件會(huì)有多個(gè)元素同時(shí)響應(yīng)河胎。具體分為:捕獲型事件讳嘱、冒泡型事件(所有瀏覽器都支持)幔嗦。
捕獲型事件是自上而下的,而冒泡型事件是自下而上的沥潭。下面這張圖說的很明了:
1.捕獲型事件:
下圖中id為div1和div2的兩個(gè)元素都被綁定了捕捉階段的事件處理函數(shù):
當(dāng)點(diǎn)擊#div1(紅色區(qū)域)時(shí)邀泉,應(yīng)該會(huì)alert出”div1″當(dāng)點(diǎn)擊#div2(黃色區(qū)域)時(shí),應(yīng)該會(huì)先alert出”div1″钝鸽,再alert出”div2″汇恤,因?yàn)樵谑录蹲诫A段,事件是從根元素向下傳播的拔恰,#div1是#div2的父元素因谎,自然綁定在#div1上的click事件也會(huì)先于#div2上的click事件被執(zhí)行。
2.冒泡型事件:
一個(gè)典型的例子:
結(jié)果: