Страницы

Поиск по вопросам

понедельник, 8 апреля 2019 г.

Отловить изменение содержимого div

У меня есть div, содержимое которого может меняться различными способами: например, весь его контент может быть изменён через innerHTML, или могут быть добавлены узлы через DOM-методы. Это может произойти через собственный javascript или через вызовы jQuery API, или через другие библиотеки.
Я хочу выполнить некоторый код, когда содержимое div изменится, но я абсолютно не контролирую, когда он изменится. Действительно, я разрабатываю плагин, который может использоваться другими людьми, которые могут свободно изменять содержимое своих div'ов так, как они предпочитают. Когда внутреннее содержимое этого div изменяется, форма плагина также может быть обновлена.
Я использую jQuery. Есть ли способ отловить изменение содержимого div?


Ответ

MutationObserver (поддержка)
const observer = new MutationObserver(mutations => console.log(mutations)); observer.observe(test, { attributes: true, childList: true, characterData: true, subtree: true }); test.innerHTML = '1'; test.classList.add('test'); test.appendChild(document.createElement('br')); test.innerHTML += '2';


Комментариев нет:

Отправить комментарий