我听说过事件和SO答案“冒泡”,但这与气泡有什么关系?
答案 0 :(得分:15)
事件冒泡是信息在深层结构中向上移动的想法,当适当的设计要求通常信息只能向下流动时。
从基本的角度来说,想一个单一的对象。设计得当,这个对象应该只知道它自己的子对象。它应该与其父母没有直接的互动。反过来,它的子对象和父对象应该遵循相同的规则。实际上,这意味着信息只能向下流动 - 父级可以调用方法,向子级发送数据或从子级中提取数据,但子级不能强制对其父级执行相同的操作。
想想当你在水下吹气泡时会发生什么 - 你不必将空气推向地面 - 你只需松开它就可以自行移动。同样的概念适用于事件冒泡 - 更深层次的控制只是简单地“释放”他们的信息 - 通常是通过一个事件 - 并且它“漂浮”在链条上而不直接调用任何东西。
对于像Stackoverflow这样的网站(或几乎任何类型的网站),冒泡的概念是相同的。显然,每个帖子都不应该直接放在主页上,但是当一个帖子更新后,该事件就会从层次结构中最深处的一个帖子中释放出来 - 一个帖子 - 并最终漂浮到顶层,在那里它处理(选择是否在主页上显示)。
答案 1 :(得分:3)
如果你问的是这个术语,我想这是一个类似于'冒泡'到顶部的事件,就像气泡在液体中一样。
如果你问的是什么事件冒泡是一个被一个对象捕获的事件,它将把它重新发送到正在监听它的任何其他对象。
引用一篇好文章here
......一种叫做事件冒泡的技术 允许儿童控制 将事件传播到其收容区 层次结构。事件冒泡启用 从更多的事件中筹集的事件 控制中方便的位置 层次结构并允许事件处理程序 作为原始控件附加 以及暴露的控制 冒泡的事件。