JavaScript的事件冒泡机制
首先事件是什么?
事件是用户作出某个动作后 浏览器而给出的反应
那什么是冒泡机制呢?
什么是冒泡? 一个泡泡 他是不是会从低到高往上升,那么事件冒泡机制 就是 事件往上升:
在JavaScript中 一棵DOM树 他的事件被激活 就会往上传递信息 层层往上传递,直至传递到dom的根节点。
例如:以下代码你就会看懂了 一直往上传递信息 上面的onclck也会被激活 但你记住啊 只有onclck啊! 都是对应的
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>javascript study</title> </head> <body> <div onclick="alert('a')"> <div onclick="alert('b')"> 点我?先b再a <div onclick="alert('c')"> 點我?c->b->a </div> </div> </div> <script type="text/javascript"> </script> </body> </html>
一般地,事件在传递过程中会有一些信息,这些是事件的组成部分:事件发生的时间+事件发生的地点+ 事件的类型+事件的当前处理者+其他信息。
那么我们怎么阻止它呢?
阻止事件冒泡
在相应的处理函数内,加入 event.stopPropagation() ,终止事件的广播分发,这样事件停留在本节点,不会再往外传播了
例如:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>javascript study</title> </head> <body> <div onclick="alert('a')"> <div onclick="alert('b')"> <div onclick="fun()"> <!--在JS代码中已经进行阻止事件冒泡了--> 點我?b->a </div> </div> </div> <script type="text/javascript"> function fun(){ alert("c"); event.stopPropagation(); } </script> </body> </html>
本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14779421.html
分类:
Java Script
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!