jQueryの[プラグイン/オーサリング] [1]ドキュメントを見ると、いくつか質問があります。私がすべきドキュメントによるとjQuery Plugin Skeleton
$('#one').plug({foo:'bar'});
$('#two').plug();
:私は、私は次の操作を行うことができますプラグインを作成する必要が
(function($){
var settings = {
foo:''
};
var methods = {
init:function(options){
return this.each(function(){
$.extend(settings, options);
//------ Problem ----------//
alert(settings.foo);
});
}
};
$.fn.plug = function(method){
//...
}
})(jQuery);
問題:$('#one').plug({foo:'bar'});
アラート「バー」予想としてではなく、次の行にはありません空の文字列を返すと、 "bar"も返されます。
設定のobjはあなたのアドオンの範囲にありません。あなたがJS Consoleに行き、設定を入力すれば、それを得るべきです。あなたは本当にすべきではありません。マニュアルを正しく読んでください。または、しばらく設定をリセットする必要があります。 – xotix
プラグインインスタンスのローカル値を必要とし、ユーザーのデフォルト設定で 'init'メソッドで設定し、プラグインインスタンスの他のメソッドでアクセス可能な場合はどうすればよいですか? – Siavash
アドオンの範囲外でvvariableを使用したい場合は、それを正しく実行します。あなたが 'bar'をもう一度得る理由は、最後の呼び出しから保存されるためです。設定はアドオン内にないので、リセットされません(単純に言えば)。だからあなたは設定= '';またはあなたのアドオンの先頭に似たようなものや、あなたのアドオン内であなたのvarを作る。私はJSに亀裂がないので、freenodeサーバー(irc)に#jqueryで質問するかもしれないので、freenodeのWebチャットがあります。 – xotix