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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • theatre2film

    theatre2film

    12 NİSAN 2006
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011