jquery kullanarak bir div#parent
ve append
ve remove
öğelerini aldığımı varsayalım. div#parent
öğesinde böyle bir olayın ne zaman gerçekleştiğini nasıl algılayabilirim?Öğe dom öğesinden eklenen/kaldırılan öğe nasıl algılanır?
cevap
Kullanım Mutation Observers onun answer
kullanabilirsiniz olay DOMSubtreeModified
bağlamak gerekir DOMNodeInserted ve DOMNodeRemoved
$("div#parent").on('DOMNodeInserted', function(e) {
console.log(e.target, ' was inserted');
});
$("div#parent").on('DOMNodeRemoved', function(e) {
console.log(e.target, ' was removed');
});
You @Qantas önerdiği gibi
$("#parent").bind("DOMSubtreeModified",function(){
console.log('changed');
});
'DOMSubtreeModified' olaylar kaldırıldı: [Kullanabilir miyim] (https://caniuse.com/#search=DOMSubtreeModified) – Cody
DOMNodeInserted ve DOMNodeRemoved gibi mutasyon olaylarını kullanmayın.
yerine, IE10 hariç tüm modern tarayıcılarda desteklenir ve DOM Mutation Observers kullanmak düşük (Can I use). Mutasyon gözlemcilerinin, flaws in its design nedeniyle düşük performansa sahip oldukları tespit edilen mutasyon olaylarının (kullanımdan kaldırılmış) değiştirilmesi amaçlanmıştır.
var x = new MutationObserver(function (e) {
if (e[0].removedNodes) console.log(1);
});
x.observe(document.getElementById('parent'), { childList: true });
Cevabınız için teşekkürler, * Mutasyon Gözlemcilerin * kötü bir davranışı vardır: Daha sonra ağaca bağlanacak olan düğüme gözlemci yerleştirmek istiyorum. Ebeveyni bilmiyorum ('DOMNodeRemoved' ile yapabilirim. Herhangi bir fikir var mı? Düğümün kendi kendini yok etmesini istiyorum. – DenisKolodin
@DenisKolodin vay, bu yorumu görmedim, üzgünüm. Bu soru] (https://stackoverflow.com/q/31798816/2074608) Bu belge düzeyinde bir olay yerleştirmek anlamına gelir, ancak mutasyon olayları büyük bir performans cezası var, büyük olasılıkla zaten önemli değil. –
- 1. Foreach öğesinden öğe indeksi
- 2. Aforge.NET - StringBuilder öğesinden öğe al
- 3. JList öğesinden bir öğe kaldırma
- 4. gridview öğesinden bir öğe oluştur
- 5. bir scala Iterator öğesinden öğe tüketme
- 6. Öğe DOM öğesinde görüntülendikten sonra Çalıştır işlevi
- 7. Z-endeksi, sahte öğe öğesinden önce
- 8. Öğe
- 9. Öğe
- 10. Öğe
- 11. Öğe,
- 12. AngularJS. Öğe,
- 13. Öğe içeriğini nasıl dizime koyarım? (Polimer dom-tekrarı için)
- 14. Belirli öğe sonra * tüm * belgedeki sonraki öğe
- 15. DOM'deki bir öğe nasıl taşınır?
- 16. Bir önceki öğe için geçerli olan bir öğe hariç tutuldu
- 17. Öğe başına öğe başına [] öğesine eşittir. C++
- 18. XML Şeması: Öğe veya metin içerebilen öğe?
- 19. Sözde öğe nasıl alınır?
- 20. Belirli alt öğe içeren üst öğe bulun.
- 21. Java: Elemandan DOM Öğesi Yaratın, Belge değil, Öğe
- 22. android öğe listesinde bir öğe seçerken nasıl yukarı kaydırılır?
- 23. Başka bir öğe hariç öğe html() nasıl alınır?
- 24. Kaydırılan bir öğe içinde sahte bir öğe nasıl sabit tutulur?
- 25. Yalnızca bir öğe
- 26. Paylaşılan öğe
- 27. Öğe, appium
- 28. Öğe temizleyin.classList
- 29. jquery Öğe
- 30. Php DOMDocument öğe değeri değerini ismine göre
Mutasyon olaylar kullanımdan kaldırılmıştır, bu cevap artık doğru biri olmalıdır. Mutasyon Gözlemciler Mutasyon Etkinlikleri'nin yerine _designed edildi, bu yüzden Qantas cevabı doğru olanıdır. https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events ve https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver – Parziphal