我试图打造我的第一个gin。 至今:
(function( $ ){
var settings = {
key1: t1 ,
key2: t2
};
var methods = {
init : function( options ) {
return this.each(function() {
var $this = $(this);
console.log( init called );
data = $this.data( snake );
// If the plugin hasn t been initialized yet
if (!data) {
//Do setup stuff here
$this.data( snake , {
map: $this.find(".map"),
stats: $this.find(".stats")
});
data = $this.data( snake );
}
if ( options ) {
$.extend( settings, options );
}
// HERE I WOULD LIKE TO CALL THE RUN METHOD AND BE ABLE TO USE settings AND data VARIABLES
});
},
run : function( ) {
var $this = $(this), data = $this.data( snake );
console.log( run called );
//test for settings and data
console.log(settings);
console.log(data);
},
test : function( ) {
return this.each(function() {
var $this = $(this), data = $this.data( snake );
console.log( test called );
//test for settings and data
console.log(settings);
console.log(data);
});
},
setup : function ( ) {
console.log( setup called );
},
hide : function( ) {}
};
$.fn.snake = function( method ) {
// console.log( call: + 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 );
现在我需要打电话<代码>run。 采用<代码>init方法。 如何做到这一点?