将元素插入DOM后,可以快速查询元素的大小

时间:2015-06-10 23:09:31

标签: javascript dom browser

有没有办法(可能是一个事件?)延迟查询元素的高度,直到完全计算出它的所有样式,这样我知道它的高度是否正确计算了?

在我的应用中,我需要尽快获得元素的高度。我在插入DOM之后很快就运行了这个计算(使用MutationObservers来检测它)。仍有一些(不是全部)结果不正确 - 高度与我在浏览器中看到的高度不同(更高)。如果我使用dp->print()将计算延迟200毫秒,则结果是正确的。

是否有一些更清晰的解决方案,而不使用setTimeout?那个有点hacky(包括200ms在我的浏览器中工作的事实并不意味着它将在所有其他人工作,我不能增加它 - 我需要尽快进行计算)。

1 个答案:

答案 0 :(得分:2)

您可以使用在文档中的所有内容完全加载后触发的onload事件。

你可以在你的标记中使用它:

<body onload="doStuffAfterEverythingIsLoaded()">...</body>

或在您的脚本中:

window.addEventListener("load", doStuffAfterEverythingIsLoaded);

希望这会有所帮助。