Запрос sharepoint 365 из доступа

Это предельный подход до сих пор с наименьшим кодом:

IE9 +, FF, Webkit:

Использование MutationObserver и откат к устаревшим событиям мутации , если необходимо: (Пример ниже, если только для изменений DOM относительно добавленных или удаленных узлов)

var observeDOM = (function(){
  var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;

  return function( obj, callback ){
    if( !obj || !obj.nodeType === 1 ) return; // validation

    if( MutationObserver ){
      // define a new observer
      var obs = new MutationObserver(function(mutations, observer){
        if( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
          callback( mutations[0] );
      });
      // have the observer observe foo for changes in children
      obs.observe( obj, { childList:true, subtree:true });
    }
    
    else if( window.addEventListener ){
      obj.addEventListener('DOMNodeInserted', callback, false);
      obj.addEventListener('DOMNodeRemoved', callback, false);
    }
  }
})();

//------------< DEMO BELOW >----------------
// add item
document.querySelector('body > button').onclick = function(e){
  var newElmHTML = "
  • "; document.querySelector('ol').insertAdjacentHTML("beforeend", newElmHTML); } // delete item document.querySelector('ol').onclick = function(e){ if( e.target.nodeName == "BUTTON" ) e.target.parentNode.parentNode.removeChild(e.target.parentNode); } // Observe a specific DOM element: observeDOM( document.querySelector('ol'), function(m){ console.clear(); console.log('Added:', m.addedNodes, 'Removed:', m.removedNodes); });
    
    

    0
    задан Ryan Jacques 5 March 2019 в 16:55
    поделиться