2009-08-13 15 views
0

私は興味深いものを発見した。私は必要に応じて最後にアイテムを追加するためにカルーセル構造でajaxを使用しています。そしてそれはうまくいくようです。.ajaxCompleteは積み重ね続ける

これは)(ItemLoadと呼ばれる関数内のAJAX呼び出しのようになります。

$.ajax({ 
    type: "POST", 
    url: ajax_url, 
    data: args, 
    success: function(resp){ 
     $('#dumpster').append(resp); 
    } 
}); 

別の機能はItemLoad()を呼び出し、カルーセルは、それが最後

itemLoad(); 

$slider.ajaxComplete(function() { 

    console.log("ajaxdone"); 

    //items get inserted into the DOM 

}); 

私はこれを実行します達したとき、私は最初のリクエストで1つの "ajaxdone"を取得し、次に2つ目、次に3つ目...基本的にajaxCompleteイベントがスタックされるので、コードは1つではなく複数回実行されます。

何が欠けていますか?

答えて

3

itemLoadイベントで毎回同じイベントをajaxCompleteスタックに追加し続けます。 あなたは完全なスクリプトを与えていないので、それほど簡単ではありません。

ajaxCompleteイベントをdocで一度バインドし、毎回追加しないでください。

+0

ええ、バインディングが問題でした。リクエストが必要なたびにそれが行われました。乾杯! – GreenDude

関連する問題