¿Cuál podría ser la razón por la que el siguiente código no activa las devoluciones de llamada de MutationObserver?
<!DOCTYPE html> <body> <div id="msg">Hello</div> <script> var el = document.getElementById("msg"); var obs = new MutationObserver(() => { console.log("Changed!"); }); obs.observe(el, {subtree: true, characterData: true}); setTimeout(() => { el.innerHTML += " World!"; }, 3000); </script> </body> </html>innerHTML altera el DOM, por lo que debe monitorear childList .
<!DOCTYPE html> <body> <div id="msg">Hello</div> <script> var el = document.getElementById("msg"); var obs = new MutationObserver(() => { console.log("Changed!"); }); obs.observe(el, {childList: true}); setTimeout(() => { el.innerHTML += " World!"; }, 3000); </script> </body> </html>