2012-02-20 27 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