JavaScript: прослушивание изменений атрибутов?
возможно ли в JavaScript прослушивать изменение значения атрибута? Например:
var element=document.querySelector('…');
element.addEventListener( ? ,doit,false);
element.setAttriubte('something','whatever');
function doit() {
}
Я хотел бы ответить на любое изменение в
1 ответов
вам нужно mutationobserver'а, здесь в фрагменте я использовал setTimeout для имитации изменения атрибута
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var element = document.querySelector('#test');
setTimeout(function() {
  element.setAttribute('data-text', 'whatever');
}, 5000)
var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    if (mutation.type == "attributes") {
      console.log("attributes changed")
    }
  });
});
observer.observe(element, {
  attributes: true //configure it to listen to attribute changes
});<div id="test">
</div>