-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