返回

DOM 剖析:揭秘网页交互的幕后魔法师

前端

DOM 事件流

DOM 事件流了浏览器接收事件的顺序。DOM2 事件流分为 3 个阶段:捕获阶段、目标阶段和冒泡阶段。

  • 捕获阶段: 事件从最外层的元素开始向下传播,直到目标元素。
  • 目标阶段: 事件到达目标元素,并在目标元素上触发事件处理程序。
  • 冒泡阶段: 事件从目标元素向上传播,直到最外层的元素。

DOM 事件监听器

事件监听器是 JavaScript 中用来侦听和处理 DOM 事件的函数。事件监听器可以添加到任何 DOM 元素上,当该元素发生指定事件时,就会触发事件监听器。

添加事件监听器的语法如下:

element.addEventListener('event', function, useCapture);
  • element: 要添加事件监听器的 DOM 元素。
  • event: 要侦听的事件类型,例如 "click"、"mouseover" 或 "keydown"。
  • function: 事件发生时要执行的函数。
  • useCapture: 可选参数,指定是否在捕获阶段触发事件监听器。

DOM 键盘事件

键盘事件是用户使用键盘与网页交互时触发的事件。常见的键盘事件包括:

  • keydown: 按下键盘上的某个键时触发。
  • keyup: 松开键盘上的某个键时触发。
  • keypress: 按下键盘上的某个键并释放时触发。

键盘事件的对象包含了有关按下的键的信息,例如键的代码、字符和位置。

DOM 鼠标事件

鼠标事件是用户使用鼠标与网页交互时触发的事件。常见的鼠标事件包括:

  • click: 单击鼠标左键时触发。
  • dblclick: 双击鼠标左键时触发。
  • mousedown: 按下鼠标左键时触发。
  • mouseup: 松开鼠标左键时触发。
  • mousemove: 移动鼠标时触发。

鼠标事件的对象包含了有关鼠标指针位置和按钮状态的信息。

DOM 表单事件

表单事件是用户与网页上的表单元素交互时触发的事件。常见的表单事件包括:

  • submit: 提交表单时触发。
  • reset: 重置表单时触发。
  • change: 表单元素的值发生改变时触发。
  • focus: 表单元素获得焦点时触发。
  • blur: 表单元素失去焦点时触发。

表单事件的对象包含了有关表单元素和表单数据的信息。

结论

DOM 是网页交互的基础,理解 DOM 的工作原理有助于我们更好地理解和操控网页。通过使用事件监听器、键盘事件、鼠标事件和表单事件,我们可以轻松地创建出交互丰富的网页。