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

  • CNET

    CNET

    5 Mayıs 2006
  • Le Cargo !

    Le Cargo !

    24 HAZİRAN 2007
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008