jQuery方法 - 移交变量

时间:2011-06-27 19:26:11

标签: javascript jquery jquery-plugins

我正在编写插件,我从jQuery plugin authoring tutorial获得了基本设置:

(function( $ ){

  var methods = {
    init : function( items ) { 
        /* do stuff */
    },
    reset : function( name ) {
        // here I need the var items from init
    }
  };

  $.fn.myplugin = 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 );

如何从reset获取变量items的方法init

谢谢和问候,亚历克斯

1 个答案:

答案 0 :(得分:2)

您可以将它们存储在最小的通用范围内,例如methods对象:

  var methods = {
    init : function( items ) { 
        /* do stuff */
        methods.myData = 15;
    },
    reset : function( name ) {
        // here I need the var items from init
        alert(methods.myData * 2); // alerts 30
    }
  };