事件是用戶或瀏覽器自身執行的某種動做,如click,load和mouseover都是事件的名字。html
事件是javaScript和DOM之間的橋樑。java
你若觸發,我便執行——事件發生,調用它的處理函數執行相應的JavaScript代碼給出響應。瀏覽器
典型的例子有:頁面加載完畢觸發load事件;用戶單擊元素,觸發click事件。函數
事件發生時會在元素節點與根節點之間按照特定的順序傳播,路徑所通過的全部節點都會收到該事件,這個傳播過程即DOM事件流。htm
事件傳播的順序對應瀏覽器的兩種事件流模型:捕獲型事件流和冒泡型事件流。對象
冒泡型事件流:事件的傳播是從最特定的事件目標到最不特定的事件目標。即從DOM樹的葉子到根。seo
捕獲型事件流:事件的傳播是從最不特定的事件目標到最特定的事件目標。即從DOM樹的根到葉子。事件
1)、全部現代瀏覽器都支持事件冒泡,但在具體實現中略有差異:ip
IE5.5及更早版本中事件冒泡會跳過<html>元素(從body直接跳到document)。class
IE九、Firefox、Chrome、和Safari則將事件一直冒泡到window對象。
2)、IE九、Firefox、Chrome、Opera、和Safari都支持事件捕獲。儘管DOM標準要求事件應該從document對象開始傳播,但這些瀏覽器都是從window對象開始捕獲事件的。
3)、因爲老版本瀏覽器不支持,不多有人使用事件捕獲。建議使用事件冒泡。