有没有一种方法可以让对象知道它被添加到DOM?

时间:2017-07-03 06:40:29

标签: javascript events dom

在我的应用中,我创建了许多动态对象。其中一些需要在添加到DOM后进行初始化 我希望它们“聪明”并且仅在将它们添加到dom时执行一些代码。

o / c - 我可以在插入后手动执行代码。但我试图避免它。

能做到吗?
如何?

1 个答案:

答案 0 :(得分:1)

您可以为方法.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);