2014-07-04 25 views
0

我有一個jQuery插件,我需要改變它的默認設置(並強制插件的每個實例的這些默認設置)。修改它的源代碼不是一個選項(更新等),所以我想如果我代理它,我會回家。所以,我擡頭一看一個例子,你如何做到這一點的JS:jquery插件的javascript代理

var proxied = jQuery.ajax; // Preserving original function 
jQuery.ajax = function() { 
    jQuery("#loading").dialog({modal: true}); 
    return proxied.apply(this, arguments); 
} 

下面這段代碼是相當簡單的,但

我不知道我代理的「元」怎麼會,像$(".select").multiselect();以類似的方式嗎?

回答

1

好吧,我搜索了一下,自己找到了答案。

所有的jQuery對象方法都被存儲在jQuery.fn對象中。所以我所要做的只是

var proxied = jQuery.fn.multiselect; 
jQuery.fn.multiselect = function() { 
    // stuff 
    return proxied.apply(this, arguments); 
}; 

希望有人認爲有幫助!