5
有谁知道如何在元素添加到DOM后触发JavaScript中的事件?添加到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所以它才有意义推迟执行,直到加入的元素是不应该被触发某些功能。
有没有办法做到这一点,而不需要明确地打电话给他们,或者我应该做一些破解,包括setTimeout
和一个检查,看看元素是否已经添加到DOM呢?
我不知道那些甚至存在!我确实需要支持IE9-尽管:(并且那些关于性能命中的评论并不是很令人放心,我知道我没有在问题中指定这个答案,所以你的答案是正确的,但是我需要考虑所有这些。是否有混合的方法,至少支持IE9? – sgcharlie
对于不支持上述操作的浏览器,您可能需要推出一个定时器,定期检查父元素的子元素并触发一些回调。 – techfoobar
突变事件现在不推荐使用,请考虑使用[Mutation Observers](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver)代替 – ZitRo