0

我一直在使用下面的样板进行 jQuery 插件开发,效果很好。但我不确定公开“方法”的最佳方式。

           ;(function ( $, window, undefined ) {

              var pluginName = 'defaultPluginName',
                  document = window.document,
                  defaults = {
                    propertyName: "value"
                  };

              function Plugin( element, options ) {
                this.element = element;

                this.options = $.extend( {}, defaults, options) ;

                this._defaults = defaults;
                this._name = pluginName;

                this.init();
              }

              Plugin.prototype.init = function () {

              };

              $.fn[pluginName] = function ( options ) {
                return this.each(function () {
                  if (!$.data(this, 'plugin_' + pluginName)) {
                    $.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
                  }
                });
              }

            }(jQuery, window));

谢谢

4

1 回答 1

1

只有函数可以是私有/本地的,而不是 jQuery 插件。

如果您正在使用 jQuery 并尝试在 jQuery 中添加自己的(自定义)函数,那么有一个最好的方法jQuery.fn.yourFunctionname = function(){},因为 jQuery 已经在公共范围内,所以公共范围也是如此jQuery.fn.yourFunctionname(无论您在哪里定义 Plugin ,都可以在全球范围内使用)。

window.jQuery = jQuery;


$.fn.pluginName = function ( options ) {

    return this.each(function () {
    // code goes here
    });
}
于 2012-08-21T17:00:46.047 回答