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

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

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

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

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

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

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


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

【热门文章】
【热门文章】