我正在构建一个Jquery插件。我的骨架代码如下:同时扩展JQuery插件和JQuery
(function (window, document, $, undefined) {
var methods = {
init : function(options){
},
func_1: function(){
},
func_2: function(){
}
};
$.fn.myplugin = function(args){
if (methods[args])
{
return methods[ args ].apply(this, Array.prototype.slice.call(arguments, 1));
}
else if (typeof args === 'object' || ! args)
{
var opts = $.extend({}, $.fn.myplugin.defaults, args);
var new_args = new Array(opts);
return methods.init.apply(this, new_args);
}
else
{
$.error('Method ' + args + ' does not exist');
}
};
$.fn.myplugin.defaults = {
func_1: function(){},
func_2: function(){}
};
}(window, document, jQuery));
我期待扩大这个插件,这样我可以添加额外的功能,JQuery的。所以,我想为下面呼吁这些功能:
$.myplugin.new_func();
我该怎么办呢?我知道我可能不得不使用$.extend
,但不知道如何去做。
在此先感谢。
你愿意修改插件的代码吗? – Jarry
不会$ .myplugin = methods;足够? – sroes
@Jarry不,我必须保持骨架,因为 –