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

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • JorteexHD

    JorteexHD

    20 NİSAN 2012
  • Professor Messer

    Professor Me

    27 NİSAN 2007