事件流程分為三個階段:捕獲階段、目標階段、冒泡階段。 捕獲階段:事件從最頂層元素開始執行,一層層往下,直到精確元素。 目標階段:事件在精確元素上執行。 冒泡階段:事件從精確元素開始執行,一層層往上,直到頂層元素(註:高級瀏覽器的頂層元素是window,ie8以下的瀏覽器頂層元素是document) ...
事件流程分為三個階段:捕獲階段、目標階段、冒泡階段。
捕獲階段:事件從最頂層元素開始執行,一層層往下,直到精確元素。
目標階段:事件在精確元素上執行。
冒泡階段:事件從精確元素開始執行,一層層往上,直到頂層元素(註:高級瀏覽器的頂層元素是window,ie8以下的瀏覽器頂層元素是document)
DOM2級事件綁定方式 高級瀏覽器綁定方式: 元素.addEventListener(type, handler, boolean); //綁定 type 事件類型字元串 不帶on handler 事件處理函數 boolean 布爾值 如果值為true 該綁定是綁定到捕獲階段 否則綁定到冒泡階段 元素.removeEventListener(type, handler, boolean); //移除綁定 type 事件類型字元串 不帶on handler 事件處理函數 boolean 布爾值 如果值為true 是移除捕獲階段 否則移除冒泡階段
IE8以下瀏覽器綁定方式(不支持addEventListener ) 元素.attachEvent(type, handler) //綁定 type 事件類型字元串 帶on handler 事件處理函數 元素.detachEvent(type, handler) //移除綁定 type 事件類型字元串 帶on handler 事件處理函數 (註:ie8以下瀏覽器綁定方式沒有第三個參數,表示不能綁定到捕獲階段) dom2級事件可以重覆綁定,在高級瀏覽器中的執行順序是從上至下。在ie8以下瀏覽器中是倒敘執行,但是當attachEvent和dom0級一起執行時,會先執行0級,然後再倒敘執行。