2012-02-20 53 views
6

我正在研究JQuery插件。我想定义一个静态可见的方法,这样我就可以更容易地访问某些部分。举例来说,在C#中,我只是这样做:如何为JQuery插件创建静态方法

public class MyPlugin() 
{ 
    public static string DoSomething(object parameter) 
    { 
    return DoImplementation(); 
    } 
} 

但是,我想不出如何做到这一点同类型的事情在一个jQuery插件。目前,我有以下内容:

(function ($) { 
    $.myPlugin = function (element, options) { 
     var defaults = { 
      average: 0 
     } 

     myPlugin.init = function() { 
      myPlugin.settings = $.extend({}, defaults, options); 
     } 

     myPlugin.doSomething = function (parameter) { 
      // Implementation goes here 
     } 
    } 
})(jQuery); 

如何从JQuery插件创建静态可见方法?

谢谢!

回答

6
$.myPlugin = { }; 
$.myPlugin.staticMethod = function(...) { ... }; 

显然,这不能去实际myPlugin函数内,因为这样的功能是per-“实例”(实际上,每个呼叫)。

实际myPlugin方法需要在$.fn(这是原型)上定义。

+1

真的很感谢这里的一个简单例子 – 2013-09-07 18:05:02

+0

@Anand:究竟是什么的例子? – SLaks 2013-09-08 01:05:44

+0

Nevermind SLaks,我感到困惑:)谢谢 – 2013-09-08 18:19:35