【发布时间】: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