2011-10-24 18 views
0

jQueryプラグインにコールバックを追加しました。jQueryプラグインでjQueryコールバックコール

$(document).myPlg({option1: 'a', option2: 'b'}, function(){ 
    // callback logic here 
}); 

しかし、あなたはプラグインの内部でコールバックを呼び出す必要があることに注意してください。それは二番目のパラメータになりますjQueryのからあなたの場合は例えば

$(document).myPlg(function(){ 

// how to call callback? 

}); 
+3

あなたは2番目のコードブロックからのコールバックを呼び出すことはありません、あなたは最初からのコールバックを呼び出します。 2番目のブロックはコールバックです。 – BNL

+0

@BNL - 申し訳ありません、ご説明ください。私はそれを完全に理解していません。プラグインが動作した後にコードを実行したい。コールバックはこれを行う正しい方法ですか?どんな例? – Iladarsda

+0

に回答を追加しました。 – BNL

答えて

1

これは、コールバック関数が実行されます:

$.fn.myPlg= function(options, callback) { 
    if(callback) { 
     callback(); 
    } 
} 

Samichは、あなたもコールバック場合は、オプションのオブジェクトを使用する必要があり、言ったようにあなたの唯一の選択肢です。そうすれば、より多くのオプションを簡単に追加できます。このようになります。そのようにやって

$.fn.myPlg= function(options) { 
    if(options.callback) { 
     options.callback(); 
    } 
} 

$(document).myPlg({ 
    callback: function() { 
    // callback logic here 
    } 
}); 
+0

私のプラグインからの 'callback();'は 'callback:function(){ //コールバックロジックはこちら }'フォームをここで実行しますか? – Iladarsda

+0

はいそれですwill.321 – BNL

+0

OK。私ははるかに理解しています。あなたに時間と労力をいただきありがとうございます。 – Iladarsda

0

をこのコールバックを呼び出す方法今

$.fn.myPlg= function(options, callback) { 
    if(callback) { 
     //do stuff 
    } 
} 

定義、使用法ではありません。私はあなたのサンプルの最初の部分を意味します。

それはオプションに含める方が良いでしょう:

$.fn.myPlg= function(options) { 
    if(options.callback) { 
     //do stuff 
    } 
} 

$(document).myPlg({ 
    option1: 'a', 
    option2: 'b', 
    callback: function() { 
     // callback logic here 
    } 
}); 
+0

コールバック以外のオプションがない場合はどうですか? – Iladarsda

+0

プラグインはコールバックとして最初のパラメータを処理できる必要があります。 – Samich

+0

プラグインでコードを実行するために 'myPlg selector'でコールバックを使用する必要がありますか? 'if(options.callback){ //ここに }' – Iladarsda

関連する問題