名前間隔システムを使用してjQueryプラグインを作成しようとしているので、これは私が持っているものの小さな例です
(function($){
var jScrollerMethods = {
init:function(config){
this.settings = $.extend({
'option':'value'
}, config);
},
getOption:function(){
return this.settings.option;
}
}
$.fn.jScroller = function(call){
if ( jScrollerMethods[call] ) {
return jScrollerMethods[call].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof call === 'object' || ! call ) {
return jScrollerMethods.init.apply( this, arguments );
} else {
$.error( 'Method ' + call + ' does not exist on jQuery.jScroller' );
}
}
$(".selector").jScroller({'option':'newValue'});
var opt = $(".selector").jScroller("getOption");
})(jQuery);
変数は機能せず、EGが関数セットを指すopt
ように関数を宣言するときのように機能しないはずなので、関数が設定にアクセスできるようにするにはどうすればよいですか異なるセレクターで実行されている jScroller の複数のインスタンスが存在する可能性があるため、ウィンドウに保存されました。this
init:function(){..
this
init
getOption