2012-11-26 290 views
1

可能重複:
jQuery events not happening after AJAX load?jQuery函數不工作後,.load

我有功能,點擊一個按鈕後重新加載頁面,在這裏它是:

$(".updated").load("index.php .updated"); 

它加載一切完美。但加載其他功能後,應淡出錶行 - 不起作用。這裏是功能:

$('.deletetable').click(function() { 
var x = this.id; 
$.post("Changes.php", { ID: x, CLEAR: '1'}); 
$('#slideup'+x).fadeOut("slow"); 

它工作正常,但在.load發生之前。

任何想法?

謝謝!

+1

當加載新的內容,舊的元素(那些用事件綁定)丟失。您需要重新綁定它們或使用委派的事件。 –

+0

請注意,.live已被棄用(該問題是一年+舊),您應該使用'.on'或'.delegate',閱讀文檔以瞭解語法差異。 –

回答

1

使用此:

$(document).on('click', '.deletetable', function() { 
    var x = this.id; 
    $.post("Changes.php", { 
     ID: x, 
     CLEAR: '1' 
    }); 
    $('#slideup' + x).fadeOut("slow"); 
}); 
+0

它符合我的需要。非常感謝你! – JudJin

1

通過你的代碼的回調來加載,如果你希望它在加載後執行:

$(".updated").load("index.php .updated", function(){ 

    $('.deletetable').click(function() { 
    var x = this.id; 
    $.post("Changes.php", { ID: x, CLEAR: '1'}); 
    $('#slideup'+x).fadeOut("slow"); 
    }) 

});