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)
第三个参赛是指定在冒泡节点还是控制阶段调用