【问题标题】:What is the bubbling concept?什么是冒泡概念?
【发布时间】:2010-11-24 05:56:48
【问题描述】:

我听说过事件和 SO 回答“冒泡”,但是这与气泡有什么关系?

【问题讨论】:

    标签: events event-bubbling


    【解决方案1】:

    事件冒泡是指信息在深层结构中向上移动,而适当的设计要求通常信息只能向下流动。

    在非常基本的术语中,考虑一个对象。如果设计得当,这个对象应该只知道它自己的子对象。它不应与其父级直接交互。反过来,它的子对象和父对象应该遵循相同的规则。实际上,这意味着信息只能向下流动——父级可以调用方法、向其子级发送数据或从中提取数据,但子级不能强制对其父级执行相同操作。

    想想当你在水下吹一个气泡时会发生什么——你不必将空气推向水面——你只需释放它,它就会自行移动。同样的概念也适用于事件冒泡——更深层次的控制只是简单地“发布”他们的信息——通常是通过一个事件——并且它在不直接调用任何东西的情况下“浮动”到链上。

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

    【讨论】:

    • @Kirk,这是一个 good 答案,但我认为您对简洁的定义与我的不同 :-) 简洁将是“事件或答案毫不费力地上升到顶部,例如水中的气泡”。
    • @Kirk @Pax 我也在想同样的事情 :) 我很欣赏你的赞美,但即使我希望这个答案更短。有时我会被自己的解释冲昏头脑。
    • @Rex 不不!你的答案写得非常好。我目前正在尝试向我的女朋友教授编程基础知识,您的类比启发了我!我想买一张纸和一支笔 =)
    【解决方案2】:

    如果你问的是这个词,我想它类似于一个事件“冒泡”到顶部,就像液体中的气泡一样。

    如果您要问什么事件冒泡,它是一个被一个对象捕获的事件,该事件将重新触发它到正在侦听它的任何其他对象。

    引用一篇好文章here

    ...一种称为事件冒泡的技术 允许子控件 向上传播事件 等级制度。事件冒泡启用 事件要从更多 方便的控制位置 层次结构并允许事件处理程序 附加到原始控件为 以及暴露的控件 冒泡事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      相关资源
      最近更新 更多