当内部html DOM准备好时,jQuery触发器

时间:2015-06-09 11:09:54

标签: jquery ajax dom

我在加载网页时一直使用jQuery的$.ready()函数进行初始化,但有些网页稍后通过$.ajax()调用动态加载内容$.ready()呼叫已经完成。

问题是我需要一个等效的ready()函数来初始化动态内容 - 我不能使用$('.sel').ready(),因为ready()仅适用于整个文档并尝试初始化来自$ajax.success()的内容随机失败,因为看起来动态内容中的某些DOM元素并未始终加载。

$.ready(function() {
     // init document here, then much later...
    $.ajax({
       url:/getdynamicstuff,
       success:function(dyndata) {
           // container is part of the main body, so this always works
           $('.container').html(dyndata);

           // try and use ready again once the container DOM is loaded...
           $().ready(function() {
                // this commonly (but not always) fails because $('.dynelement').length is 0 (i.e the element is not yet in the DOM)
                $('.dynelement').click();
           });
       }
    });
});

如果所有动态DOM元素都已完全加载,如何触发回调?

0 个答案:

没有答案