Q1:什么是 DOM?
DOM 是 W3C(萬維網聯盟)的標準。
DOM 定義了訪問 HTML 和 XML 文檔的標準:
W3C DOM 標準被分為 3 個不同的部分:
核心 DOM - 針對任何結構化文檔的標準模型
XML DOM - 針對 XML 文檔的標準模型
HTML DOM - 針對 HTML 文檔的標準模型
Q2:什么是 XML DOM?
XML DOM 定義了所有 XML 元素的對象和屬性,以及訪問它們的方法。
Q3:什么是 HTML DOM?
HTML DOM 是:
HTML 的標準對象模型
HTML 的標準編程接口
HTML DOM 定義了所有 HTML 元素的對象和屬性,以及訪問它們的方法。
換言之,HTML DOM 是關于如何獲取、修改、添加或刪除 HTML 元素的標準。
Q4:DOM標準與IE的html事件模型區別
先有事件,事件是在瀏覽器內部自動產生的,當有時間發生時,html元素會向外界發出各種事件。
DOM事件流,當一個html元素產生一個事件時,該事件會在元素借點與根節點之間的路徑傳播,路徑所經過的節點都會收到該事件,這個傳播過程可稱為DOM事件流。
主流瀏覽器的事件模型:
1)冒泡型事件
從DOM樹型結構上理解,就是事件由葉子結點沿祖先結點一直向上傳遞直到根結點;從瀏覽器界面視圖HTML元素排列層次上理解就是事件由具有從屬關系的最確定的目標元素一直傳遞到最不確定的目標元素.
2)捕獲型事件
由DOM樹最頂層元素一直到最精確的元素
3)DOM標準事件模型
DOM標準支持捕獲型與冒泡型,可以說是它們兩者的結合體。它可以在一個DOM元素上綁定多個事件處理器,并且在處理函數內部,this關鍵字仍然指向被綁定的DOM元素,另外處理函數參數列表的第一個位置傳遞事件event對象。
首先是捕獲式傳遞事件,接著是冒泡式傳遞,所以,如果一個處理函數既注冊了捕獲型事件的監聽,又注冊冒泡型事件監聽,那么在DOM事件模型中它就會被調用兩次。
Q5:DOM事件響應綁定
1)綁定單個監聽
element.attachEvent("OnClick", observer)
element.detachEvent("OnClick", observer)
2)綁定多個監聽
element.AddEventListener("Click", observer, useCapture)
element.RemoveEventListener("Click", observer, useCapture)
第三個參賽是指定在冒泡節點還是控制階段調用