有人知道如何在DOM中添加一个元素后触发JavaScript事件吗?
一般的想法是这样的:
var elem = document.createElement('div');
elem.addEventListener('ON_ADD_TO_BODY', function(){console.log(elem.parentNode)});
//... LATER ON ...
parentElemInBody.appendChild(elem); // <- Event is triggered here after append
有一些函数在您将元素添加到DOM之前不应该被触发,因此将执行延迟直到添加元素才是合理的。
是否有一种方法可以在不需要显式调用它们的情况下实现这一点,或者我应该使用一些hack,包括setTimeout
和检查元素是否已经添加到DOM中?