我已经编写了一个jQuery-Plugin,我想将其用作对象。因此,我在插件中声明了一些函数,我希望从任何其他位置调用它们,就像有方法的对象一样。这有可能吗?
要保持简单,请执行以下操作:
(function( $ ){
$.fn.myPlugin = function(){
// Here I want methods...
function foo()
{
// do something...
}
}
})(jQuery);然后我想从插件外部调用内部函数,如下所示:
$.myPlugin.foo();但这似乎并不管用。那么这是可能的吗?或者还有其他的解决方案吗?为此,我不想使用普通的、无关的jQuery-Class。因为这个插件应该和其他一些jQuery-Plugins一起工作。
谢谢
发布于 2010-12-27 16:00:10
这样:
(function( $ ){
$.fn.myPlugin = (function(){
// Here I want methods...
this.foo = function()
{
// do something...
}
})();
})(jQuery);发布于 2010-12-27 15:55:40
您可以使用$.fn并重写代码,如下所示:
(function( $ ){
$.fn.myPlugin = function(){
// Here I want methods...
$.fn.myPlugin.foo = function()
{
// do something...
}
}
})(jQuery);你可以这样叫它:
myPlugin().foo;发布于 2010-12-27 16:03:27
jQuery文档站点recommends a good way of doing it:让$.fn.myPlugin将您的函数名作为其第一个参数,并将其余所有参数传递给正确的函数。示例代码有些冗长,因此请转到该站点查看它。
https://stackoverflow.com/questions/4537310
复制相似问题