2013-02-26 99 views
0
加載

我有一個加載在回覆通過js函數到後一個項目:jQuery的運行functiont通過AJAX

$('div.discussion_content').each(function() { 
    discussion.loadDiscussion($(this)); 
}); 

它管理的頁面加載工作的偉大,但我們有一個'無限滾動「,當我向下滾動以獲得更多內容(因此更多討論)時,我什麼也得不到。

我已經嘗試過.on()jQuery函數......但在什麼?我想在元素加載時立即調用這個函數,並嘗試使用.on('load'...)無濟於事。

我曾嘗試.livequery()插件...

$('div.discussion_content').livequery(function() { 
    discussion.loadDiscussion($(this)); 
}); 

也無濟於事。

我想要的東西不可能是不可能的,甚至是不常見的......但是我發現自己在不知道解決方案的情況下會感到厭倦。

回答

3

如果你想插入後立即執行的操作,那麼你或許應該只是有邏輯的AJAX調用成功處理程序的一部分。

如果你真的想在某個元素上執行這個邏輯,那麼on()應該是你的方法。請注意,需要將on()附加到父元素,以便在調用on()函數時出現的動態元素。用法是這樣的:

$('#container_available_at_page_load').on('click', '.class_of_dynamic_elements', function() { 
    // do something 
}); 
+0

不知道爲什麼我從來沒有想過在AJAX成功函數中重複聲明......謝謝,我會試試看。我喜歡,但我沒有這樣的聲望。 – 2013-02-27 00:16:32

0

你試過活動委派嗎?

$(document).on('click','myClickeableDiv', function(){ 
    //do your thing 
}); 
0

這些元素不會在頁面加載存在,所以「每一個」說法並不影響他們。 嘗試在創建後(在滾動事件中)觸發「each」語句。

*如果您附加了一些代碼,可能會有所幫助。