0

jQuery プラグインのチュートリアルでは、show()、hide()、update() などの他のメソッドは init() で渡されたオプションにどのようにアクセスしますか? 他のメソッドがアクセスできるように init() で処理する正しい方法は何ですか?

(function( $ ){

  var methods = {
    init : function( options ) { // THIS },
    show : function( ) { // IS   },
    hide : function( ) { // GOOD },
    update : function( content ) { // !!! }
  };

  $.fn.tooltip = function( method ) {

    // Method calling logic
    if ( methods[method] ) {
      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
    } else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    } else {
      $.error( 'Method ' +  method + ' does not exist on jQuery.tooltip' );
    }    

  };

})( jQuery );
4

1 に答える 1

0

私のプラグインでは、次を使用して常にオプションにアクセスします。

this.options

しかし...私は別のアプローチを使用しています...

(function ($) {
    $.widget("my.plugin", {
        options: {
            op1: "op1"
        },
        _init: function () {

        },
        _create: function () {

        },
        show: function () {
        }
    });
})(jQuery);
于 2012-07-20T08:41:15.500 に答える