2010-11-11 68 views
3

我已經添加了兩種回調和觸發的事件,以插件如下:添加回調和觸發的事件,以插件

// 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只在第二個示例中調用一次。

回答

0

我結束了第二種方法。由於每個週期都調用$.isFunction(),因此只做一次似乎更有效率。我可以緩存結果以及...所以我想這兩種方法都可以起作用。