UNPKG

onscreen

Version:

A light library that does stuff when the matched elements enter or leave the viewport

31 lines (24 loc) 835 B
/** * Observes DOM mutations and runs a callback function when * detecting one. * * @param {node} obj The DOM node you want to observe * @param {function} callback The callback function you want to call * @return {MutationObserver} obs The mutation observer instance used to track DOM mutations */ function observeDOM(obj, callback) { const MutationObserver = window.MutationObserver || window.WebKitMutationObserver; /* istanbul ignore else */ if (MutationObserver) { const obs = new MutationObserver(callback); obs.observe(obj, { childList: true, subtree: true }); return obs; } obj.addEventListener('DOMNodeInserted', callback, false); obj.addEventListener('DOMNodeRemoved', callback, false); return null; } export default observeDOM;