¿Cómo interceptar cambios innerhtml en JavaScript?
-
29-10-2019 - |
Pregunta
Necesito interceptar cualquier cambio en el contenido de una celda dentro de mi página web.
El siguiente código me muestra que AddEventListener no funciona.
function modifyText() {
alert("!");
}
var el=document.getElementById("mycell");
el.innerHTML="a"
el.addEventListener("change", modifyText, false);
// After next instruction I expect an alert message but it does not appear...
el.innerHTML="Z";
El código es solo un ejemplo de juguete. En mi caso real, los cambios en la página (y, por lo tanto, también en la celda) se realizan por una aplicación web sobre la que no tengo control.
Solución
No puedes escuchar un elemento dom change
de esa manera. change
El evento es principalmente para input
s
Hay algunos otros nuevos eventos DOM 3 que te ayudarían en esto.
Aquí hay algunos:
Domcharacterdatamodified //Reclutar
Otros consejos
Haz esto ¿El método más eficiente para detectar/monitorear los cambios DOM? ¿ayuda?
Parece que no hay soluciones del 100% del navegador cruzado, y una de las soluciones es sondear los elementos de interés para ver si su innerhtml.