-1
在我的應用程序中,我創建了許多動態對象。其中一些需要在添加到DOM之後進行初始化。
我希望他們是「聰明的」,只有當他們被添加到dom時才執行一些代碼。有沒有辦法讓對象知道它被添加到DOM?
o/c - 我可以在插入後手動執行代碼。但我試圖避免它。
可以嗎?
怎麼樣?
在我的應用程序中,我創建了許多動態對象。其中一些需要在添加到DOM之後進行初始化。
我希望他們是「聰明的」,只有當他們被添加到dom時才執行一些代碼。有沒有辦法讓對象知道它被添加到DOM?
o/c - 我可以在插入後手動執行代碼。但我試圖避免它。
可以嗎?
怎麼樣?
您可以添加您的原型包裝的方法.appendChild或使用MutationEvents
Node.prototype.myAppend = function (el) {
this.appendChild(el);
el.onAppend && el.onAppend.call && el.onAppend();
}
var div = document.createElement('div');
// handler after append in DOM
div.onAppend = function() {
alert('Node added in DOM');
}
document.body.myAppend(div);
你爲什麼要設法避免你提到的解決方案? –
你能給一個具體的例子 - 即一些代碼? – kabanus
請提供[mcve] – zer00ne