如何检查元素是否已通过AJAX加载?

时间:2013-12-07 13:19:41

标签: javascript jquery ajax

我想检查元素是否已经加载。

HTML

<button>load</button>

JS

$(document).on('click','button',function () {
    $.ajax({
        url: 'additional.html',
        context: document.body,
    }).done(function(html) {
        $('body').append(html);
    });
});
//My incorrect suggestion
if ($('input').is(':visible')) {
    alert('I see loaded element!');
}

我可以向.done()阻止移动警告,我不允许更改它。 那么,为了在元素出现时显示if,我应该为alert语句使用什么事件监听器?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

$('body').bind("loaded", function () {
    alert('I see loaded element!');
});

$(document).on('click','button',function () {
  $.ajax({
    url: 'additional.html',
    context: document.body,
  }).done(function(html) {
    $('body').append(html);
    $('body').trigger("loaded");
  });
});

或者您可以将jquery ajax设置为同步,因为它默认为async。