【问题标题】:Reacting to patterns of (UI) events over time随着时间的推移对 (UI) 事件的模式作出反应
【发布时间】:2015-07-24 15:57:21
【问题描述】:

随着时间的推移寻找事件模式并触发新事件的表达方式是什么?

例如,用户界面事件通常是简单事件的模式,例如 mousedown/up、mousemove 或 keyup/keydown。

拖放交互需要监听 mousedown 事件,然后是一些 mousemove 事件,然后是 mouseup,并查看可拖动/可放置 UI 对象是否是不同事件的目标。此外,您可能希望有一个时间和距离阈值,以避免在用户可能尝试单击时触发拖动,并且您可能希望查找修饰键,或使用 Escape 来取消交互。

处理这些事情,因为单个事件侦听器的数量很快变得复杂且容易出错,调试起来很棘手,并且经常导致不同事件之间发生冲突。

简洁明了地表达这些模式的常用抽象是什么?

【问题讨论】:

    标签: user-interface events design-patterns drag-and-drop stream


    【解决方案1】:

    Composite 模式作为一种结构化代码的方式跳入脑海,因为您拥有组合形成复杂事件的原始事件,而所有事件都符合基本接口。

    对于行为模式,我们直观地认为事件是可观察的;但在复合事件的情况下,我们也可以将其视为Observer,其中一个复杂事件观察一个或多个原始事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      相关资源
      最近更新 更多