做功能界面时,程序触发按钮的click事件问题?
做页面时,有时会遇到这样的场景,做一项新功能,只需触发页面上某个按钮的click事件 + 另外一部分逻辑 就可以了,如果使用jQuery库的话,会这样写: $('.action-btn').trigger('click');
我觉得不应该这样写, 原因是:新功能依赖于.action-btn的click事件逻辑. 如果.action-btn的click绑定的逻辑变化了或甚至.action-btn按钮被移除了(UI是易碎的)。依赖它的功能都将受影响。
但发现有不少的人这样写。
我觉得应该将UI逻辑剥离出来,有多个触发点。
此抛砖引玉, 大家怎么看?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
确实,如果直接套在一起的话,会引起逻辑混乱,增加后期维护难度。最合适的方式是将这一操作独立成一个方法,不论是直接调用还是绑定在按钮上,都用这个方法。不过大部分使用Js的工程师,都倾向于写匿名函数,就是让这个方法无法复用,也就导致需要使用 trigger 来间接调用函数。
不过,前端代码量一般较小,而且代码封闭性较强(所有程序逃不出这个页面),所有这么写也并不太会造成很显著的坏处。如果是较大的工程,或者是像使用 Angular Js 那样的重框架,还是建议拆开来写。