将回调和触发事件添加到插件中

时间:2010-11-11 15:31:42

标签: jquery callback eventtrigger

我已将回调和触发事件添加到插件中,如下所示:

// located at the point where the event and callback should be called
el.trigger('initialized', el);
if ($.isFunction(options.onInitialize)) { options.onInitialize(el); }

但是我找到了另一种方法:

// located at the beginning of the script, after the options are extended
if ($.isFunction(options.onInitialize)) { el.bind('initialized', options.onInitialize; }

// located at the point where the event should be called
el.trigger('initialized', el);

所以,我的问题是,在第一种方法的回调之前触发事件是否重要,或者我应该切换到使用第二种方法同时发生的第二种方法?

更新:到目前为止,我提出的唯一原因是最小化函数调用 - $.isFunction仅在第二个示例中调用一次。

1 个答案:

答案 0 :(得分:0)

我最终选择了第二种方法。由于每个周期调用$.isFunction(),因此只执行一次就更有效。我也可以缓存结果......所以我猜两种方法都可以正常工作。