我需要从另一个插件扩展插件,这是最好的方式吗?
扩展名将覆盖方法并添加任何设置。
我有一个 foo 插件,效果很好,现在......我需要从 foo 扩展另一个插件 bar 。
我编写以下代码,但不起作用:
(function($) {
var methods = {
'onErrors': function (o, otherErrors) {
}
}
$.extend(true, $[foo][bar].prototype, extensionMethods);
})(jQuery);
现在,应该如何编写插件扩展名?
由于
答案 0 :(得分:1)
根据您提供的示例代码,我猜您正在尝试实现this answer中显示的内容。
如果是这种情况,那么这里有两个问题。
首先,您将方法列表声明为methods
,然后尝试将其用作extensionMethods
。
其次,更重要的是,你似乎误解了这个例子(或者我误解了你的要求?)。 $.extend()
不允许您从 foo 创建新插件 bar 。但是,您可以使用其他方法扩展 foo 。像这样:
(function($) {
var extensionMethods = {
// ....
}
$.extend($.fn.foo, extensionMethods);
})(jQuery);
答案 1 :(得分:0)