![](/img/trans.png)
[英]how to tell when script added by document.createElement('script') is loaded
[英]How can you tell when a dom node gets added to the document?
将dom节点添加到文档时,有什么好方法可以引起警报? 如果要在javascript中将dom节点放在一起,通常先将它们放在一起,然后再进行,这样就不会一直在进行重排。 但这意味着添加元素时,它们在页面上不可见,这意味着有关它们的某些信息不可访问/错误。 例如, offsetWidth
在添加到文档流中之前将为0,而不管其添加后的宽度如何。
因此,理想情况下,我希望有一种在将节点添加到文档时获取事件的方法,这样我就可以执行需要offsetWidth
以及需要呈现它的其他操作。
在大多数情况下,使用变异观察者来观察document
应该是一种合理的工具(如果您要设置旨在长时间监听的监听器,则可能不合理):
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if(mutation.target.contains(block.domNode)) {
// do your thing, then..
observer.disconnect()
}
})
})
observer2.observe(document, {childList: true, subtree: true})
请注意,如果将dom节点从文档中删除,然后重新插入,则上面的代码将无法捕获(但可以对其进行修改)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.