使用ajax全局事件来显示加载图像

时间:2014-04-21 21:40:40

标签: jquery

我在显示应用程序中所有ajax调用的加载映像时遇到了一些问题。

这是我尝试的方式(失败)

前:

    <img src="~/Images/ajax-progress.gif" alt="" class="hide" id="ajaxProgress"/>

的CSS:

.hide{
    display:none !importent;
}

JavaScript的:

$(function () {
 $('#ajaxProgress').bind('ajaxStart', function () {
    $(this).show();
}).bind('ajaxStop', function () {
    $(this).hide();
});

});

当进行ajax调用时,不显示图像。

为什么?

2 个答案:

答案 0 :(得分:2)

从jQuery 1.8开始,ajaxStart事件只能分配给文档。

请改为尝试:

$(document).ajaxStart(function() {
   $('#ajaxProgress').show();
});

$(document).ajaxComplete(function() {
   $('#ajaxProgress').hide();
});

答案 1 :(得分:0)

您可以使用它 - 它是自定义命名空间

$(document).bind("ajaxStart.mine", function() {
   $('#ajaxProgress').removeClass('hide');
});

$(document).bind("ajaxStop.mine", function() {
    $('#ajaxProgress').addClass('hide');
});

或者您可以使用此

$(document)
    .ajaxStart(function(){
        $('#ajaxProgress').removeClass('hide');
    })
    .ajaxStop(function(){
        $('#ajaxProgress').addClass('hide');
    });