我正在使用ajax調用來渲染一個部分。問題是,當調用完成時,我的jquery代碼僅適用於新插入的HTML ,如果我使用live()方法(據我所知)。是否有一個檢測僅存在的JQuery事件?
我已經成功地將live()方法用於那些具有「點擊」事件的選擇器。例如:
$('.course_name_click').live('click', function(e) {
$(this).closest('div').next().slideToggle('slow');
e.preventDefault();
});
但我不知道如何使用live()作爲簡單的hide()函數。也就是說,我想要一個HTML片段在第一次出現時被隱藏。我認爲load()可能工作,但它不。有什麼建議麼?
$('.descrip_body').live('load', function(e) {
$('.descrip_body').hide();
});
只是要清楚,我想改造
$('descrip_body').hide();
到使用現場版本()。
作爲對答案的迴應,試圖將一個hide()回調附加到AJAX請求。但它仍然不起作用(即相關的HTMl沒有隱藏)。下面是代碼:
$("#courses_body").html("<%= escape_javascript(render :partial => 'courses') %>", function() {
$('.descrip_body').hide();
});
啊,第一個是一個簡單的修復!謝謝!至於第二,我試了一下,但沒有奏效。如果您有任何見解,我會用新代碼更新我的問題。 – jyli7