2012-03-03 7 views
0

現在、プラグインを作成していて、stackoverflowを検索して何が間違っているのか分かりませんが、コード化の手がかりはありません。jQueryプラグイン複数のインスタンスがデフォルト設定を受け取りません

プラグインは実際には今はかなり長いので、基本のみを切り出しました。プラグインは完全に機能し、最初のオブジェクトのすべてのデフォルト設定を読み込みます。ユーザー設定は、デフォルトを正しく上書きします。すべてが1つのプラグインコールで動作します。プラグインの別のインスタンスが呼び出されると、ログに記録されるのは、渡された設定だけです。他のすべてのデフォルトは表示されません....周囲を見渡すと、.data ?私は確信が持たれておらず、単にコードをコピーして貼り付けるのではなく、どのようにしてこの方法が使えるのかを知りたいと思っています...誰かが明確な答えで私を助けてくれることを願っています。以下は、私が持っているトリミングされたコードです:

;(function($){ 
    jQuery.fn.OnStage=function(options){ 
     var defaults={ ... default settings ... }, 
     o=$.extend(true, {}, defaults, options); return  
this.each(function(){ ....             

ありがとう!

答えて

1

あなたのオプションは、オブジェクトはグローバルです....彼らは世界の彼らは最後に設定された値を取ると

EDITすべてのインスタンスで同じになります持つことにより

var o=$.extend 

への変更:に設定を追加します要素データは一般的なプラクティスであり、コンソールで簡単に値を確認するのに役立ちます

+2

オブジェクトはグローバルではなく、デフォルト宣言の後にコンマがあります。しかし、ありがとう – Aaron

+0

良いキャッチ..私はコンマを逃した。あなたはプラグインを呼び出すときにconsole.log(o)を試しましたか? – charlietfl

関連する問題