DOM

来源:互联网 发布:windows 10系统激活 编辑:程序博客网 时间:2024/05/18 02:44

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface),提供访问和操作网页内容的方法和接口。

DOM把整个页面映射为一个多层节点结构。

DOM 模型被构造为对象的树。

DOM HTML 树

通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。

在 DOM 中查找 HTML 元素的最简单的方法,是通过使用元素的 id

HTML DOM 允许 JavaScript 改变 HTML 元素的内容。

document.getElementById(id).innerHTML=new HTML

JavaScript 能够创建动态的 HTML 内容:

document.write(Date());

在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。

HTML DOM 允许 JavaScript 改变 HTML 元素的样式

document.getElementById(id).style.property=new style

HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。

对事件做出反应

我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。

如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码:

onclick=JavaScript

HTML 事件的例子:

  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图像已加载时
  • 当鼠标移动到元素上时
  • 当输入字段被改变时
  • 当提交 HTML 表单时
  • 当用户触发按键时


HTML DOM Event对象

Event 对象

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

事件通常与函数结合使用,函数不会在事件发生前被执行!

事件句柄 (Event Handlers)

属性此事件发生在何时...onabort图像的加载被中断。onblur元素失去焦点。onchange域的内容被改变。onclick当用户点击某个对象时调用的事件句柄。ondblclick当用户双击某个对象时调用的事件句柄。onerror在加载文档或图像时发生错误。onfocus元素获得焦点。onkeydown某个键盘按键被按下。onkeypress某个键盘按键被按下并松开。onkeyup某个键盘按键被松开。onload一张页面或一幅图像完成加载。onmousedown鼠标按钮被按下。onmousemove鼠标被移动。onmouseout鼠标从某元素移开。onmouseover鼠标移到某元素之上。onmouseup鼠标按键被松开。onreset重置按钮被点击。onresize窗口或框架被重新调整大小。onselect文本被选中。onsubmit确认按钮被点击。onunload用户退出页面。

鼠标 / 键盘属性

属性描述altKey返回当事件被触发时,"ALT" 是否被按下。button返回当事件被触发时,哪个鼠标按钮被点击。clientX返回当事件被触发时,鼠标指针的水平坐标。clientY返回当事件被触发时,鼠标指针的垂直坐标。ctrlKey返回当事件被触发时,"CTRL" 键是否被按下。metaKey返回当事件被触发时,"meta" 键是否被按下。relatedTarget返回与事件的目标节点相关的节点。screenX返回当某个事件被触发时,鼠标指针的水平坐标。screenY返回当某个事件被触发时,鼠标指针的垂直坐标。shiftKey返回当事件被触发时,"SHIFT" 键是否被按下。

IE 属性

除了上面的鼠标/事件属性,IE 浏览器还支持下面的属性:

属性描述cancelBubble如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。fromElement对于 mouseover 和 mouseout 事件,fromElement 引用移出鼠标的元素。keyCode对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。offsetX,offsetY发生事件的地点在事件源元素的坐标系统中的 x 坐标和 y 坐标。returnValue如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle,可以取消发生事件的源元素的默认动作。srcElement对于生成事件的 Window 对象、Document 对象或 Element 对象的引用。toElement对于 mouseover 和 mouseout 事件,该属性引用移入鼠标的元素。x,y事件发生的位置的 x 坐标和 y 坐标,它们相对于用CSS动态定位的最内层包容元素。

标准 Event 属性

下面列出了 2 级 DOM 事件标准定义的属性。

属性描述bubbles返回布尔值,指示事件是否是起泡事件类型。cancelable返回布尔值,指示事件是否可拥可取消的默认动作。currentTarget返回其事件监听器触发该事件的元素。eventPhase返回事件传播的当前阶段。target返回触发此事件的元素(事件的目标节点)。timeStamp返回事件生成的日期和时间。type返回当前 Event 对象表示的事件的名称。

标准 Event 方法

下面列出了 2 级 DOM 事件标准定义的方法。IE 的事件模型不支持这些方法:

方法描述initEvent()初始化新创建的 Event 对象的属性。preventDefault()通知浏览器不要执行与事件关联的默认动作。stopPropagation()不再派发事件。


0 0
原创粉丝点击