wie das abfangen innerHTML änderungen in javascript?
Brauche ich zum abfangen von änderungen im Inhalt einer Zelle innerhalb meiner Webseite.
Folgende code zeigt mir, dass Sie addEventListener () funktioniert nicht.
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";
Der code ist nur ein Spielzeug Beispiel. In meinem realen Fall die änderungen in der Seite (und daher in der Zelle auch) von einer webapp, dass ich KEINE Kontrolle habe.
- Welchen browser-Typ Sie sind, testen dieser in? Denken Sie daran den IE verwendet, der nicht dem standard entspricht .attachEvent () - Methode.
- Wie sind die Veränderungen in den ersten Platz? Wenn Sie sagen, "web-app", die impliziert, dass ich eine server-seitige Anwendung, die baut und liefert den Inhalt der Seite. Wenn das der Fall ist, dann die änderung wäre nicht nachweisbar durch den JavaScript-code, weil der "ändern" auf dem server stattgefunden haben, bevor der Umfang der JavaScript-war auch zutreffend. Aus der Perspektive der JavaScript-Code auf der Seite gab es keine Veränderung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht hören, ein DOM-element
change
so.change
Veranstaltung ist vor allem fürinput
sEs gibt einige andere neue DOM 3 events, die helfen würde, Sie auf dieser.
Hier einige:
DOMCharacterDataModified //Entwurf
DOMSubtreeModified
Tut dies Die meisten effiziente Methode zur Erkennung/überwachung DOM verpasst? helfen?
Es scheint, wie es gibt keine 100% cross-browser-Lösungen, und einer der workarounds ist, dass der Abruf der Elemente von Interesse zu sehen, ob Ihre innerHTML.Länge verpasst!