2011-06-22 9 views
1

私は、自動回転するアコーディオン用のプラグインを作成しています。新しいスライドが表示されるたびにユーザーがinitのオプションで設定した場合に発生するコールバックを追加しようとしています。したがって、たとえば:各回転jqueryプラグインのコールバック

オプションで設定したコールバック:

var defaults = 
    { 
    callback: function(arg) {}  
    }; 
var options = $.extend(defaults, options); 

ローテーションスクリプト:

function autorotation() { 
    var arg = 'hi'; 
    options.callback.call(this); 
} 

初期化プラグインスクリプト:

$('element').myplugin({ 
    callback: function(arg) { 
     alert(arg); 
    } 
}); 

私の質問は、私がどのように、ありますこれを正しく書くことで、スライドがその外側のクライアントに回転するたびに正常に引数を渡すことができますプラグイン?私はこれが誰にとっても意味をなさないことを望みます。私はできるだけシンプルにしようとしました。

+1

よく@ジム、これは少し利己的です。質問をやり直してください。あなたの質問は、それがどれほど愚かであっても、他の誰かを助けることができます。少なくともあなたの自由な時間を取ってあなたに答える人に関しては。 –

+0

質問を復元して回答を保存します。 –

答えて

2

"arg"変数と、 "call"メソッド呼び出しのパラメータとして必要な他の変数を追加するだけです。

var arg = "hello"; 
var anotherarg = "world"; 
options.callback.call(this, arg, anotherarg); 

コールバックでは、引数として使用できるようになります。

$('element').myplugin({ 
    callback: function(thefirstarg, thesecondarg) { 
     alert(thefirstarg);//alerts "hello" 
     alert(thesecondarg);//alerts "world" 
    } 
}); 
+1

完全性のために:[適用および呼び出し関数の議論](http://stackoverflow.com/questions/1986896/what-is-the-difference-between-call-and-apply) –

+0

感謝@maenu。私はそれを忘れてしまった。 –

関連する問題