我們大家都知道,人與人之間的交流可以通過語(yǔ)言,文字,肢體動(dòng)作,面部微表情等,但是你知道Javascript和HTML之間是通過什么進(jìn)行交互的么?你又知道Javascript和HTML之間是如何進(jìn)行交互的么?如果你不是那么清楚,可以看這篇文章。。。

前面的話:

這篇博文由淺入深,先介紹兩種事件流,然后介紹常見的事件處理程序以及它們之間的差異(涉及到一個(gè)簡(jiǎn)單的兼容的處理函數(shù)),后面還會(huì)針對(duì)事件對(duì)象進(jìn)行深入學(xué)習(xí),最后則是通過DOM事件實(shí)現(xiàn)的小案例。

事件流:

關(guān)于事件流,簡(jiǎn)單的來說就是:事件流描述的是從頁(yè)面中接受事件的順序。下面是《Javascript高級(jí)程序設(shè)計(jì)》里面的說法:

當(dāng)瀏覽器發(fā)展到第四代時(shí)(IE4和Netscape Communicator 4),瀏覽器團(tuán)隊(duì)遇到一個(gè)很有意思的問題:頁(yè)面的哪一部分會(huì)擁有特定的事件?想象下在一張紙上有一組同心圓,如果你把手指放在圓心上,那么你的手指指向的不是一個(gè)圓,而是一組圓。兩家公司的開發(fā)團(tuán)隊(duì)在看待瀏覽器事件方面還是一致的。如果你單擊了某個(gè)按鈕,那么同時(shí)你也單擊了按鈕的容器元素,甚至整個(gè)頁(yè)面。

事件流描述的是從頁(yè)面中接受事件的順序。但有意思的是,IE和Netscape開發(fā)團(tuán)隊(duì)居然提出了兩個(gè)截然相反的事件流概念。IE的事件流是事件冒泡流,而Netscape的事件流是事件捕獲流。

事件冒泡

網(wǎng)友評(píng)論