什么是冒泡概念?

Rob*_*cks 9 events event-bubbling

我听说过事件和SO答案"冒泡",但这与气泡有什么关系?

Rex*_*x M 15

事件冒泡是信息通过深层结构向上移动的想法,当适当的设计规定通常信息应该只向下流动时.

从基本的角度来说,想一个单一的对象.设计得当,这个对象应该只知道它自己的子对象.它应该与其父母没有直接的互动.反过来,它的子对象和父对象应该遵循相同的规则.实际上,这意味着信息只能向下流动 - 父级可以调用方法,将数据发送到子级或从子级中提取数据,但子级不能强制对其父级执行相同操作.

想想当你在水下吹气泡时会发生什么 - 你不必空气推向水面 - 你只需将其释放并自行移动即可.同样的概念适用于事件冒泡 - 更深层次的控制只是简单地"释放"他们的信息 - 通常是通过一个事件 - 并且它"漂浮"在链条上而不直接调用任何东西.

对于像Stackoverflow这样的网站(或几乎任何类型的网站),冒泡的概念是相同的.显然,每个帖子都不应该直接放在主页上,但是当一个帖子更新后,该事件就会从层次结构中最深处的一个帖子中释放出来 - 一个帖子 - 并最终漂浮到顶层,在那里它处理(选择是否在主页上显示).