有没有办法(可能是一个事件?)延迟查询元素的高度,直到完全计算出它的所有样式,这样我知道它的高度是否正确计算了?
在我的应用中,我需要尽快获得元素的高度。我在插入DOM之后很快就运行了这个计算(使用MutationObservers来检测它)。仍有一些(不是全部)结果不正确 - 高度与我在浏览器中看到的高度不同(更高)。如果我使用dp->print()
将计算延迟200毫秒,则结果是正确的。
是否有一些更清晰的解决方案,而不使用setTimeout
?那个有点hacky(包括200ms在我的浏览器中工作的事实并不意味着它将在所有其他人工作,我不能增加它 - 我需要尽快进行计算)。
答案 0 :(得分:2)
您可以使用在文档中的所有内容完全加载后触发的onload
事件。
你可以在你的标记中使用它:
<body onload="doStuffAfterEverythingIsLoaded()">...</body>
或在您的脚本中:
window.addEventListener("load", doStuffAfterEverythingIsLoaded);
希望这会有所帮助。