如何为JQuery插件创建一个静态方法

7

我正在开发一个 JQuery 插件。我希望定义一个静态可见的方法,以便更轻松地访问某些部分。例如,在 C# 中,我只需这样做:

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插件创建一个静态可见的方法?

谢谢!

2个回答

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

显然,这不能放在实际的 myPlugin 函数内部,因为该函数是每个“实例”(实际上是每次调用)的函数。
实际的 myPlugin 方法需要定义在 $.fn 上(即原型链上)。

1
这里真的很希望有一个简单的例子。 - Anand Rockzz
@Anand:具体是什么样的例子? - SLaks

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接