我正在使用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