做功能界面时,程序触发按钮的click事件问题?

发布于 2022-09-02 00:52:15 字数 312 浏览 15 评论 0

做页面时,有时会遇到这样的场景,做一项新功能,只需触发页面上某个按钮的click事件 + 另外一部分逻辑 就可以了,如果使用jQuery库的话,会这样写: $('.action-btn').trigger('click');

我觉得不应该这样写, 原因是:新功能依赖于.action-btn的click事件逻辑. 如果.action-btn的click绑定的逻辑变化了或甚至.action-btn按钮被移除了(UI是易碎的)。依赖它的功能都将受影响。

但发现有不少的人这样写。

我觉得应该将UI逻辑剥离出来,有多个触发点。

此抛砖引玉, 大家怎么看?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

メ斷腸人バ 2022-09-09 00:52:15

确实,如果直接套在一起的话,会引起逻辑混乱,增加后期维护难度。最合适的方式是将这一操作独立成一个方法,不论是直接调用还是绑定在按钮上,都用这个方法。不过大部分使用Js的工程师,都倾向于写匿名函数,就是让这个方法无法复用,也就导致需要使用 trigger 来间接调用函数。
不过,前端代码量一般较小,而且代码封闭性较强(所有程序逃不出这个页面),所有这么写也并不太会造成很显著的坏处。如果是较大的工程,或者是像使用 Angular Js 那样的重框架,还是建议拆开来写。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文