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

  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • gsipek

    gsipek

    20 Temmuz 2007
  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013