我听说过事件和 SO 回答“冒泡”,但是这与气泡有什么关系?
2 回答
事件冒泡是信息通过深层结构向上移动的想法,当适当的设计规定通常信息应该只向下流动时。
用非常基本的术语来说,考虑一个对象。如果设计得当,这个对象应该只知道它自己的子对象。它不应与其父级直接交互。反过来,它的子对象和父对象应该遵循相同的规则。实际上,这意味着信息只能向下流动——父级可以调用方法、向其子级发送数据或从中提取数据,但子级不能强制对其父级执行相同操作。
想想当你在水下吹一个气泡时会发生什么——你不必将空气推向水面——你只需释放它,它就会自行移动。同样的概念也适用于事件冒泡——更深层次的控制只是简单地“发布”他们的信息——通常是通过一个事件——并且它在不直接调用任何东西的情况下“浮动”到链上。
对于像 Stackoverflow 这样的网站(或几乎任何类型的网站),冒泡的概念是相同的。显然,每个单独的帖子不应该直接将自己放在主页上,但是当单个帖子被更新时,该事件会从层次结构的最深处 - 单个帖子 - 释放并最终浮动到顶层,在那里它处理(选择是否显示在首页)。
如果您要询问该术语,我想它类似于“冒泡”到顶部的事件,就像液体中的气泡一样。
如果您要问什么事件冒泡,它是一个被一个对象捕获的事件,它将重新触发它到正在侦听它的任何其他对象。
在这里引用一篇好文章
...一种称为事件冒泡的技术,它允许子控件将事件向上传播到其包含层次结构。事件冒泡允许从控件层次结构中更方便的位置引发事件,并允许将事件处理程序附加到原始控件以及公开冒泡事件的控件。