SORU
10 Temmuz 2010, CUMARTESİ


DOM değişiklikleri tespit

Bazı div veya giriş html eklendiğinde bir fonksiyonu çalıştırmak istiyorum. Bu mümkün mü?

Örneğin, bir metin giriş eklenir, sonra işlevi çağrılmalıdır.

CEVAP
28 Ocak 2013, PAZARTESİ


Bu şimdiye kadar olan en küçük kod: nihai yaklaşım

9 , FF, Y:

MutationObserver kullanma ve geri kaldırılan gerekirse Mutation events düşme:
(DOM değişiklikleri için aşağıda sadece örnek düğümleri eklenmiş ya da çıkarılmış) ile ilgili

var observeDOM = (function(){
    var MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
        eventListenerSupported = window.addEventListener;

    return function(obj, callback){
        if( MutationObserver ){
            // define a new observer
            var obs = new MutationObserver(function(mutations, observer){
                if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
                    callback();
            });
            // have the observer observe foo for changes in children
            obs.observe( obj, { childList:true, subtree:true });
        }
        else if( eventListenerSupported ){
            obj.addEventListener('DOMNodeInserted', callback, false);
            obj.addEventListener('DOMNodeRemoved', callback, false);
        }
    }
})();

// Observe a specific DOM element:
observeDOM( document.getElementById('dom_element') ,function(){ 
    console.log('dom changed');
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009