基于这个问题中的问题(ajaxStop 触发了两次),我编写了以下 ajaxStop 事件。
var ajaxCount = 0;
$(document).ajaxStop(function () {
ajaxCount += 1;
console.debug('calling ajaxStop, iteration ' + ajaxCount);
if (ajaxCount == 2) {
$('.fieldLoading').hide();
$('.fieldValue').show();
}
});
10 次中有 9 次完全按预期工作。页面加载后,调试控制台会显示“调用 ajaxStop,迭代 1”。然后,在其他一切触发后,它显示“调用 ajaxStop,迭代 2”。这是我所期望的。然而,大约 5% 或 10% 的时间它只显示迭代 1,在一切都已触发之后(这意味着没有数据显示)。