通过Ajax加载的jQuery动态内容
问题描述:
嘿,我试图关闭显示页面加载时显示的div。但是,这样做:通过Ajax加载的jQuery动态内容
jQuery(document).ready(function() {
jQuery('#moreDetailsTable').slideUp("fast", function() {});
});
似乎没有关闭它,当自其被动态地经由使用AJAX PHP代码填充页面加载。
是Ajax调用看起来像这样的PHP:
echo '<div id="moreDetailsTable" class="widefat fixed comments">
Testing this out<br />
Testing this out<br />
Testing this out<br />
Testing this out<br />
Testing this out<br />
</div>
ect ect.....
我知道代码工作,因为我只是这样做:
jQuery(document).on('click', '#moreDetailsTable', function() {
jQuery('#moreDetailsTable').slideUp("fast", function() {
console.log('done');
});
});
它向上滑动一次,我一下就可以了。
我怎样才能叫.slideUp,因为它动态填充,而不是在页面上开始?
答
请参阅jQuery.ajaxComplete()事件处理程序。这将做你想要的。
例子:
jQuery(document).ajaxComplete(function() {
jQuery('#moreDetailsTable').slideUp("fast", function() {});
});
答
ajax返回时调用该函数。加载内容后。例如:
$('.ajaxLoading').show();
$.ajax({
type:'POST',
url:'url',
dataType: "json"}).done
(function(response){
alert(response.message);
$('.ajaxLoading').hide();
//window.location = "/dash_board";
$('#moreDetailsTable').slideUp("fast", function() {});
}).fail(function(response,textStatus){
alert('Something goes wrong. Please try again.');
$('.ajaxLoading').hide();
//alert(textStatus);
});
+0
感谢我的问题重播,何塞。 – StealthRT 2013-05-01 15:28:00
http://api.jquery.com/ajaxComplete/ – Jordan 2013-05-01 14:54:48
@Jordan作出这样的回答,所以我可以给你贷款,请。 – StealthRT 2013-05-01 14:57:33
你能显示你的ajax代码吗? – tymeJV 2013-05-01 14:57:36