当我发送jQuery时,我想通过ajaxStart()
显示加载gif。完成后,gif应该使用ajaxStop()
消失。Internet Explorer和ajaxStart/ajaxStop
$(document).ajaxStart(function() {
$('#info').show();
}).ajaxStop(function() {
$('#info').hide();
});
它可以在Firefox上正常工作,但不在IE中(我使用的是版本8)。看来,IE在查询结束时执行ajaxStart()
,并且在执行ajaxStop()
之后。如果我注释掉$('#info').hide();
部分,我会在看到数据后看到gif。
我可以通过设置async=true
来避开它,但我不想这样做。有另一种方法吗?
我阅读了一些文章,指出很多人都有这个问题,但我找不到答案。
编辑:
我认识到,ajaxStart
正确执行,但请求会导致浏览器冻结,直到我得到回应。这发生得如此之快,以至于无法显示加载gif。在ajaxStart
和gif显示之后,用alert()
试了一下。之后,alert
弹出,然后发送请求,导致浏览器和gif冻结。
你使用的是什么jQuery版本? – Spudley
我使用的版本1.7.2 –