Skip to content

Instantly share code, notes, and snippets.

@swape
Created October 21, 2015 16:46
Show Gist options
  • Save swape/db6f20eea2627fa0c228 to your computer and use it in GitHub Desktop.
Save swape/db6f20eea2627fa0c228 to your computer and use it in GitHub Desktop.
detecting DOM changes
var observeDOM = (function(){
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver,
eventListenerSupported = window.addEventListener;
return function(obj, callback){
if( MutationObserver ){
var obs = new MutationObserver(function(mutations, observer){
if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
callback();
});
obs.observe( obj, { childList:true, subtree:true });
}
else if( eventListenerSupported ){
obj.addEventListener('DOMNodeInserted', callback, false);
obj.addEventListener('DOMNodeRemoved', callback, false);
}
}
})();
observeDOM( document.querySelectorAll('body')[0] ,function(){
console.log('dom changed');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment