ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-06-30 05:21:40  阅读:229  来源: 互联网

标签:javascript user-interface event-handling modular


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

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

作为界面变得复杂的简单说明,请使用带有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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有