如何为一个元素放置ajaxStart()

时间:2015-05-28 22:45:12

标签: jquery ajax

我在同一页面中有2个不同的ajax。一个用于输入文本,另一个用于复选框。我使用ajaxStart()来显示我的加载gif,然后使用ajaxStop()来隐藏它。问题出在我的输入文本中它加载了gif,但我不想要它。

这是我的ajax代码

$(document).ajaxStart(function () {
        loading.show();
    });

    $(document).ajaxStop(function() {
        loading.hide();
    });

    $.ajax({
        type: "POST",
        url: "send/getBlocHtml",
        data: {'id': blocID},
        dataType: 'JSON',
        success: function(bloc) {
            var bloc_title = bloc.title.replace(/\s/g, '');
            var blocHTML = $('#sortable').find('div[data-bloc='+bloc_title+']');
            blocHTML.removeClass('activate').addClass('disable');
            blocHTML.fadeOut();
            if($('#sortable').children().length == $('#sortable').children('.disable').length) {
                $('#sortable').fadeOut();
            }
        }
    });

我可以在ajax()中添加任何东西以显示我的加载并在ajax完成时隐藏它吗?

1 个答案:

答案 0 :(得分:1)

您可以使用beforeSend来显示加载图片,然后将其隐藏在success内。