在jQuery插件中更正用户选项

时间:2015-01-26 08:49:54

标签: javascript jquery plugins jquery-plugins options

有一个jQuery插件的例子,用户可以在其中设置自己的选项

(function( $ ){

  var options = {
    opt1: val1,
    opt2: val2,
    opt3: val3
  };

  var methods = {
    init : function( options ) { 
      var option = $.extend({
            opt1: val11
        }, options);
    },
    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 ); 

在这种情况下,我如何在其他方法中调用选项(显示,隐藏等)?这是正确的代码?

1 个答案:

答案 0 :(得分:1)

由于在options变量之前定义了最长的methods变量,您可以使用点表示法来获取选项。 (例如options.opt1)。