编程语言
首页 > 编程语言> > javascript – 如何在模块化用户界面中管理基于事件的输入?

javascript – 如何在模块化用户界面中管理基于事件的输入?

作者:互联网

用户界面通常由不同的输入设备组成,如按钮,输入字段,对话框,滑块等.事件顺序通常决定了预期的行为,并且这种行为通常不容易在一个简单的规则中捕获.

是否存在针对此类问题的通用方法?

作为界面变得复杂的简单说明,请使用带有3个切换按钮的界面.如果按钮单击的行为取决于每个按钮的状态,则可能有2 ^ 3 * 3 = 24个事件情况.如果行为还取决于事件历史记录,则事件数量会呈指数级增长.

作为一个真实的例子,看看我正在研究的所见即所得的文本编辑器.我在编辑器上选择焦点/模糊事件来启用/禁用编辑器.一些按钮(小部件)立即将焦点返回到编辑器,而其他按钮则打开一个对话框.在下图中,箭头显示了单击界面元素时焦点的位置.

我发现在这里管理焦点是一个棘手的问题,经常引入不受欢迎或反直觉的行为.

解决方法:

您可以使用Mediator AKA Message Broker模式来分离UI组件(通常是任何类型的应用程序组件),这里有两篇关于它的文章:

> Mediator Pattern applied to Javascript
> Mediator pattern javascript

标签:javascript,user-interface,event-handling,modular
来源: https://codeday.me/bug/20190630/1333358.html