DOM'a eklendikten sonra bir öğe için javascript'te bir olayı nasıl tetikleyeceğini bilen var mı?Trigger Javascript Olayı DOM'a ekle
genel bir fikir böyle bir şeydir:
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
eleman eklenene kadar bu yürütme geciktirmek için mantıklıdır böylece DOM eleman eklemek kadar tetiklenen gereken bir takım işlevler vardır .
Bunu daha sonra açık bir şekilde aramak gerekmeden yapmanın bir yolu var mı, yoksa setTimeout
'u içeren bir hack yapmalı ve öğenin henüz DOM'a eklenip eklenmediğini görmek için bir kontrol yapmalı mıyım?
Bunların var olduğunu bile bilmiyordum! IE9-olsa desteklemeye ihtiyacım var :(ve performans isabetleri üzerine yapılan yorumlar çok güven verici değil, biliyorum ki, cevabın doğru olduğunu söylemedim, ama hepsini hesaba katmam gerek. En azından, IE9-? – sgcharlie
'u destekleyen bir melez yaklaşımı var. Yukarıdakileri desteklemeyen tarayıcılarda, üst öğenin alt öğelerini düzenli olarak denetleyen ve bazı geri bildirimleri tetikleyen bir zamanlayıcıyı açmanız gerekebilir. – techfoobar
Mutasyon olayları şimdilik şimdilik kullanımdan kaldırılmıştır: [Mutation Observers] (https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver) yerine – ZitRo