不能冒泡的事件有:1、focus事件;2、blur事件;3、scroll事件;4、mouseenter和mouseleave事;5、mouseover和mouseout事件;6、mousemove事件;7、keypress事件;8、beforeunload事件;9、DOMContentLoaded事件;10、cut、copy和paste事件等。
本教程操作系统:windows10系统、DELL G3电脑。
在事件冒泡(event bubbling)中,当一个事件(例如点击、键盘输入等)在某个元素上触发时,这个事件会向该元素的父元素传递,然后再向其父元素的父元素传递,以此类推,直到到达最外层的元素(通常是document对象)。这种事件传播方式被称为冒泡。
然而,有些事件并不会冒泡。以下是一些不会冒泡的事件:
1、focus事件:当用户点击文本框或输入框以获取焦点时,不会触发冒泡事件。只有当用户通过Tab键切换到该元素或通过脚本设置元素为焦点时,才会触发focus事件。
2、blur事件:当文本框或输入框失去焦点时,不会触发冒泡事件。只有当用户通过Tab键切换离开该元素或通过脚本移除焦点时,才会触发blur事件。
3、scroll事件:当用户滚动页面时,不会触发冒泡事件。只有当页面实际发生滚动时,才会触发scroll事件。
4、mouseenter和mouseleave事件:这些事件仅在鼠标指针进入/离开元素时触发,不会冒泡。
5、mouseover和mouseout事件:虽然这些事件会冒泡,但它们与mouseenter和mouseleave不同,因为它们还会在子元素上触发。
6、mousemove事件:当鼠标在元素内部移动时,不会触发冒泡事件。只有当鼠标指针跨越元素的边界时,才会触发mousemove事件。
7、keypress事件:当用户在键盘上按下键时,不会触发冒泡事件。只有当键被释放并且产生一个可打印的字符时,才会触发keypress事件。
8、beforeunload事件:当窗口或标签页即将卸载时,不会触发冒泡事件。只有当卸载过程开始之前,才会触发beforeunload事件。
9、DOMContentLoaded事件:当HTML文档已经完全加载和解析,不等待样式表、图像和子框架完成加载时,不会触发冒泡事件。只有当整个文档已经加载完毕时,才会触发DOMContentLoaded事件。
10、cut、copy和paste事件:这些事件不会冒泡。它们仅在用户执行剪切、复制或粘贴操作时触发。
需要注意的是,虽然这些事件不会冒泡,但它们仍然可以通过其他方式传播。例如,可以通过addEventListener()方法直接将事件处理程序绑定到特定元素上。
原文来自:www.php.cn
暂无评论内容