2009-08-13 60 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 

}); 

當我運行此,我在第一個請求中得到一個「ajaxdone」,然後在第二個請求中得到兩個,然後是三個......基本上,ajaxComplete事件堆積起來,或者代碼運行多次而不是一次。

我錯過了什麼?

回答

3

您每次都在itemLoad事件中不斷向ajaxComplete堆棧添加相同的事件。 不容易說出,因爲你還沒有完整的腳本。

在doc準備好時綁定ajaxComplete事件一次,並且不要每次都添加它。

+0

是的,綁定是個問題,每次需要請求時都會這樣做。乾杯! – GreenDude 2009-08-13 10:41:31