Skip to content

不会冒泡的事件

在 JavaScript 和浏览器中,绝大多数事件都会按照 DOM 事件流模型冒泡,即事件会从目标元素开始向上冒泡到它的父元素,并最终到达 document 元素。然而,也有一些事件是不会冒泡的。这些事件通常直接在目标元素上触发,并不会向上传播。

以下是一些不会冒泡的事件的示例:

  1. focus:当元素获得焦点时触发,例如通过键盘或鼠标点击。这是一个不会冒泡的事件。
  2. blur:当元素失去焦点时触发。这也是一个不会冒泡的事件。
  3. focusin:与 focus 类似,但会在元素或其父元素上触发(冒泡),因此这个事件是特例。
  4. focusout:与 blur 类似,但会在元素或其父元素上触发(冒泡),因此这个事件是特例。
  5. load:当图像、音频、视频或其他资源加载完成时触发。例如,在 img 元素上触发的 load 事件不会冒泡。
  6. unload:当页面即将被导航离开时触发。这通常用于执行清理工作,也不会冒泡。
  7. stop:通常与 media 元素相关,例如 audio 或 video 元素。这是在媒体播放停止时触发的事件。
  8. readystatechange:当 document 的 readyState 改变时触发。这通常在页面加载时使用。
  9. scroll:当元素滚动时触发。这个事件在某些浏览器中可能会冒泡,但在其他浏览器中通常不会冒泡。

这些事件通常直接在目标元素上触发,并且不会传播到父元素上。

hancenter808@outlook.com