Skip to content

不会冒泡的事件有哪些?

Posted on:2024年4月19日 at 09:53

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

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

  1. focus:当元素获得焦点时触发,例如通过键盘或鼠标点击。这是一个不会冒泡的事件。

  2. blur:当元素失去焦点时触发。这也是一个不会冒泡的事件。

  3. focusin:与 focus 类似,但会在元素或其父元素上触发(冒泡),因此这个事件是特例。

  4. focusout:与 blur 类似,但会在元素或其父元素上触发(冒泡),因此这个事件是特例。

  5. load:当图像、音频、视频或其他资源加载完成时触发。例如,在 img 元素上触发的 load 事件不会冒泡。

  6. unload:当页面即将被导航离开时触发。这通常用于执行清理工作,也不会冒泡。

  7. stop:通常与 media 元素相关,例如 audiovideo 元素。这是在媒体播放停止时触发的事件。

  8. readystatechange:当 documentreadyState 改变时触发。这通常在页面加载时使用。

  9. scroll:当元素滚动时触发。这个事件在某些浏览器中可能会冒泡,但在其他浏览器中通常不会冒泡。

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

原文转自:https://fe.ecool.fun/topic/69b606ac-e69b-4bb5-9997-21860904d29b