如何在jQuery插件中创建一个公共方法

时间:2012-08-21 16:40:46

标签: javascript jquery jquery-plugins methods public

我一直在使用以下样板来进行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));

由于

1 个答案:

答案 0 :(得分:1)

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

如果您正在使用jQuery并尝试在jQuery中添加自己的(自定义)函数,则有一种最佳方式jQuery.fn.yourFunctionname = function(){},因为jQuery已经在公共范围内,因此jQuery.fn.yourFunctionname是公共范围(无论您在何处定义插件,都可以在全球范围内使用。)

window.jQuery = jQuery;


$.fn.pluginName = function ( options ) {

    return this.each(function () {
    // code goes here
    });
}