Come intercettare i cambiamenti di InnerHTML in JavaScript?
-
29-10-2019 - |
Domanda
Devo intercettare eventuali modifiche al contenuto di una cella all'interno della mia pagina web.
Il seguente codice mi mostra che AdedEventListener non funziona.
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";
Il codice è solo un esempio giocattolo. Nel mio caso reale le modifiche nella pagina (e quindi anche nella cella) sono apportate da un WebApp su cui non ho alcun controllo.
Soluzione
Non puoi ascoltare un elemento DOM change
quel modo. change
L'evento è principalmente per input
S
Ci sono altri nuovi eventi Dom 3 che ti aiuterebbero in questo.
Ecco alcuni:
DomcharacterDataModified //Brutta copia
Altri suggerimenti
Fa questo Metodo più efficiente per rilevare/monitorare le modifiche DOM? aiuto?
Sembra che non ci siano soluzioni del browser incrociate al 100% e una delle soluzioni alternative è quella di pollicare gli elementi di interesse per vedere se le loro modifiche interne di lunghezza!