jquery插件上的javascript代理
我有一个jQuery插件,我需要更改它的默认设置(并对插件的每个实例强制这些默认设置)。修改它的源代码不是一个选项(更新等),所以我想如果我代理它,我就回家了。所以我查了一个例子,你是如何在JS中做到这一点的:jquery插件上的javascript代理,javascript,jquery,proxy,Javascript,Jquery,Proxy,我有一个jQuery插件,我需要更改它的默认设置(并对插件的每个实例强制这些默认设置)。修改它的源代码不是一个选项(更新等),所以我想如果我代理它,我就回家了。所以我查了一个例子,你是如何在JS中做到这一点的: var proxied = jQuery.ajax; // Preserving original function jQuery.ajax = function() { jQuery("#loading").dialog({modal: true}); return
var proxied = jQuery.ajax; // Preserving original function
jQuery.ajax = function() {
jQuery("#loading").dialog({modal: true});
return proxied.apply(this, arguments);
}
这段代码非常简单,但是
我不确定如何代理“元素方法”,如
$(.select”).multiselect()代码>以类似的方式?好的,我搜索了更多,自己找到了答案
所有jQuery对象方法都“存储”在jQuery.fn
对象中。所以我要做的就是
var proxied = jQuery.fn.multiselect;
jQuery.fn.multiselect = function() {
// stuff
return proxied.apply(this, arguments);
};
希望有人觉得这有帮助