![](/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.