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あり、パブリックスコープもあるため(プラグインをどこで定義しても、グローバルに使用できる)、最善の方法があります。 )。

window.jQuery = jQuery;


$.fn.pluginName = function ( options ) {

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