我們大家都知道,人與人之間的交流可以通過語言,文字,肢體動作,面部微表情等,但是你知道Javascript和HTML之間是通過什么進(jìn)行交互的么?你又知道Javascript和HTML之間是如何進(jìn)行交互的么?如果你不是那么清楚,可以看這篇文章。。。
前面的話:
這篇博文由淺入深,先介紹兩種事件流,然后介紹常見的事件處理程序以及它們之間的差異(涉及到一個簡單的兼容的處理函數(shù)),后面還會針對事件對象進(jìn)行深入學(xué)習(xí),最后則是通過DOM事件實現(xiàn)的小案例。
事件流:
關(guān)于事件流,簡單的來說就是:事件流描述的是從頁面中接受事件的順序。下面是《Javascript高級程序設(shè)計》里面的說法:
當(dāng)瀏覽器發(fā)展到第四代時(IE4和Netscape Communicator 4),瀏覽器團(tuán)隊遇到一個很有意思的問題:頁面的哪一部分會擁有特定的事件?想象下在一張紙上有一組同心圓,如果你把手指放在圓心上,那么你的手指指向的不是一個圓,而是一組圓。兩家公司的開發(fā)團(tuán)隊在看待瀏覽器事件方面還是一致的。如果你單擊了某個按鈕,那么同時你也單擊了按鈕的容器元素,甚至整個頁面。
事件流描述的是從頁面中接受事件的順序。但有意思的是,IE和Netscape開發(fā)團(tuán)隊居然提出了兩個截然相反的事件流概念。IE的事件流是事件冒泡流,而Netscape的事件流是事件捕獲流。