5

何らかの理由で、私の ajaxStop コードが現在 2 回起動しているため、1 回だけに制限する必要があります。

$('.submit').bind('click', function(e) {

$("#fileupload").ajaxForm({
        target: '#status'
}).submit();


$(document).ajaxStop(function() {
         var mysrc = $("#status").find('img').attr("src");
         $(".empty:first").removeClass("empty").removeClass("ui-state-default").addClass("ui-state").append('<img src="'+mysrc+'" width="45" height="60" class="expand"/>');
     });     

});
4

2 に答える 2

16

次のように.one()を使用してみてください。

$(document).one("ajaxStop", function() {
   var mysrc = $("#status").find('img').attr("src");
   $(".empty:first").removeClass("empty").removeClass("ui-state-default").addClass("ui-state").append('<img src="'+mysrc+'" width="45" height="60" class="expand"/>');
});   
于 2013-05-05T05:26:58.830 に答える
1

私も2回実行していました。ただし、 .one を使用すると、すべてが完了した後ではなく、最初の反復でのみ起動することを意味しました。これが私が最終的に使用したもので、希望どおりに機能するようです。

var ajaxCount = 0;

$(document).ajaxStop(function () {
    ajaxCount += 1;
    if (ajaxCount == 2) {
        $('.fieldLoading').hide();
        $('.fieldValue').show();
    }
});
于 2013-08-14T22:48:21.347 に答える