如何检测innerHTML何时完成

gor*_*dyr 16 javascript

我已经做了很多寻找这个问题的解决方案,但到目前为止还没有找到一个跨浏览器的工具.

我需要的是一个原始的javascript函数,它将获取一个元素并在innerHTML成功插入dom后运行回调.

例如

    var element = document.getElementById('example');
        element.innerHTML = newhtml;

    waitUntilReady(element, function(){
            //do stuff here...
    });
Run Code Online (Sandbox Code Playgroud)

总而言之,我需要能够检查元素的内容并在innerHTML完成时触发回调.

在此先感谢您的帮助.

Nie*_*sol 5

不需要这样的功能.innerHTML在继续运行任何脚本之前,分配将立即执行此操作.

如果您确实需要延迟执行(例如允许浏览器重绘),请使用setTimeout延迟1(或其他短暂间隔).

  • 我做的事情是:element.innerHTML ="<div style ='width ='100%;'> </ div>"; 但在下一行element.children [0] .offsetWidth为0,我假设因为它还没有渲染.这是最新的Chrome.有人有主意吗? (5认同)