2011-12-20 95 views
1

我已經通過jQuery加載了一個表單。結果,應用於它的$(document).ready(function()不再起作用。我們如何重建功能到形式,它在加載後jquery文件準備功能,加載後功能

內容加載中:

$('.section.com').load(window.location.href + ' .section.com .tubs') 

因此,這不再起作用:

$('#commentform').ajaxForm(function() { 
    $('.commentslogic').load('<?php the_permalink();?> .commentslogic .inner', function() { 
     $('.commentlist li:first').hide(); 
     $('.commentlist li:first').slideDown(400); 
     $('.commentlist li:first').effect('highlight', {}, 800); 
     $('#cloader').slideUp(400); 
    }) 
}); 

回答

0

把表單綁定我n中的功能,讓你可以重複使用它:

function bindForm() { 
    $('#commentform').ajaxForm(function() { 
    $('.commentslogic').load('<?php the_permalink();?> .commentslogic .inner', function(){ 
     $('.commentlist li:first').hide(); $('.commentlist li:first').slideDown(400); $('.commentlist li:first').effect('highlight', {}, 800); $('#cloader').slideUp(400); 
    }) 
    }); 
} 

現在你可以從ready事件稱之爲兩者,如load方法回調綁定新的形式:

$('.section.com').load(window.location.href + ' .section.com .tubs', bindForm) 
+0

不工作。該頁面仍在重新加載。我無法將bindForm放在你擁有的地方,因爲我有一個函數正在繼續。所以我這樣稱呼它... $('。section.com')。load(window.location.href +'.section.com .tubs',function(){bindForm(); ...... ...} – 2011-12-20 13:16:26

+0

@RobinKnight:這個應該可以工作,你還記得從'ready'事件中調用它嗎? – Guffa 2011-12-20 13:25:55

+0

好的,我在Firefox中工作,但沒有在Chrome中使用bindForm函數,當我把它放入文檔中函數Firebug說bindForm沒有定義。 – 2011-12-20 13:33:26

0

把它放進.load的回調,所以它被重新應用到替換元素:

$('.section.com').load(window.location.href + ' .section.com .tubs', function() { 
    $('#commentform').ajaxForm(function() { 

     // rest of code 
    }); 
});