Yangın div değişikliği jQuery olay
Çeşitli şekillerde değiştirebilecek bir div var: örneğin tüm içeriği innerHTML ile yeniden olabilir, ya da düğümleri DOM yöntemleri ile eklenebilir. Bu çağrıları jQuery API veya diğer kütüphaneler aracılığıyla dolaylı olarak) yerel javascript ile şöyle veya böyle olabilir.
Div içeriği değiştiğinde bazı kod çalıştırmak istiyorum, ama varkesinlikle kontrolnasıldeğişecek. Şüphesiz onların divs içeriği istedikleri şekilde değiştirme hakkına sahip olan diğer insanlar tarafından kullanılan bir widget tasarlıyorum. Bu dıv iç içerik değiştiğinde, widget şeklinde de güncelleştirilmesi gerekebilir.
JQuery kullanıyorum. Bir şekilde bu div içeriğini, ancak değişen bir olay yakalamak için olanları var mı?
CEVAP
Eğer öğeler eklendiğinde veya kaldırıldığında, kontrol etmek DOMNodeInserted
DOMNodeRemoved
kullanabilirsiniz. Ne yazık ki, IE bunu desteklemiyor.
$('#myDiv').bind('DOMNodeInserted DOMNodeRemoved', function(event) {
if (event.type == 'DOMNodeInserted') {
alert('Content added! Current content:' '\n\n' this.innerHTML);
} else {
alert('Content removed! Current content:' '\n\n' this.innerHTML);
}
});
Güncelleme
.data()
ilk içeriğini ve gelecekteki değişiklikleri kaydetmek olabilir. İşte size bir örnek.
var div_eTypes = [],
div_changes = [];
$(function() {
$('#myDiv').each(function() {
this['data-initialContents'] = this.innerHTML;
}).bind('DOMNodeInserted DOMNodeRemoved', function(event) {
div_eTypes.concat(e.type.match(/insert|remove/));
div_changes.concat(this.innerHTML);
});
});
Örnek çıktı:
> $('#myDiv').data('initialContents');
"<h1>Hello, world!</h1><p>This is an example.</p>"
> div_eTypes;
["insert", "insert", "remove"]
> div_changes;
["<iframe src='http://example.com'></iframe>", "<h4>IANA — Example domains</h4><iframe src='http://example.com'></iframe>", "<h4>IANA – Example domains</h4>"]
Güncelleme 2
DOMNodeInserted
DOMNodeRemoved
innerHTML
bir öğe doğrudan değiştirilir tetikleyici olmadığını öğrendim çünkü DOMSubtreeModified
da dahil etmek isteyebilirsiniz. Hala IE ile çalışmaz, ama en azından diğer tarayıcılarda gayet iyi çalışıyor.
jQuery - Yangın olay eğer CSS sınıfı d...
tıklatın veya değiştirmek radyo kullan...
jQuery uı iletişim değişikliği yük-ger...
kapalı öğesi olay jQuery tıklayın...
jQuery checkbox değiştirmek ve tıklatı...