JQuery DOM değiştirmek bir dinleyicisi var mı?
Aslında bu komut bir DİV içeriğini değiştirmek yürütmek istiyorum. Komut ayrı (chrome uzantısı ve web sayfası komut dosyası içerik kodu) olduğundan, sadece DOM hal değişimleri gözlemek bir yolunu bulmam gerek. Yoklama ayarlayabilirim ama bu çok baştan savma görünüyor.
CEVAP
Birkaç yıl sonra, artık resmen daha iyi bir çözüm var. DOM4 Mutation Observers itiraz DOM3 mutasyon olayları için bir yedek vardır. Şu anda satıcı öneki WebKitMutationObserver
: Krom MutationObserver
olarak ve Firefox uygulanır
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver(function(mutations, observer) {
// fired when a mutation occurs
console.log(mutations, observer);
// ...
});
// define what element should be observed by the observer
// and what types of mutations trigger the callback
observer.observe(document, {
subtree: true,
attributes: true
//...
});
Bu örnek document
ve tüm alt ağacı DOM değişiklikler dinler ve eleman öznitelikleri yanı sıra yapısal değişiklikler de ateş edecek. Taslak spec mutation listener properties geçerli: tam bir listesi vardır
childList
- 5* *hedef çocuklarına mutasyonlar eğer ayarlı dikkate alınmalıdır.
öznitelikleri
- Hedef öznitelikleri mutasyonlar
true
ayarlanır dikkate alınmalıdır.characterData
- 7* *hedef veri mutasyonlar eğer ayarlı dikkate alınmalıdır.
ağacı
- Sadece hedef değil, aynı zamanda hedef torunları için mutasyonlar
true
ayarlanır dikkate alınmalıdır.attributeOldValue
- Eğer
attributes
mutasyon kayıt altına alınması gerekiyor önce gerçek ve hedef öznitelik değeri ayarlanmışsatrue
olarak ayarlayın.characterDataOldValue
- Eğer
characterData
mutasyon kayıt altına alınması gerekiyor önce gerçek ve hedef veri kümesi isetrue
ayarlayın.attributeFilter
- Eğer tüm öznitelik mutasyonlar dikkat edilmesi gereken öznitelik yerel isim listesi (ad olmadan) ayarlayın.
(Bu liste, Nisan ayından itibaren geçerli 2014; herhangi bir değişiklik için belirtimi kontrol edebilirsiniz.)
jquery metin rengini değiştirmek? bunu...
jquery ile metin çapa değiştirmek...
JQuery HTML etiketini değiştirmek için...
Nasıl bir köprü jQuery kullanarak href...
JQuery kullanarak değiştirmek Tutucu M...