DOMNodeInserted Äquivalent in IE?
Andere als mit einem timer zum zählen der Anzahl der Elemente im Laufe der Zeit und auf der Suche nach änderungen, ich kann nicht denken, einen besseren Weg, um dies zu simulieren Ereignis.
Gibt es irgendeine Art von proprietären IE-version von DOMNodeInserted? Danke.
InformationsquelleAutor der Frage CPrimer | 2010-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, gibt es nicht. Der nächste ist der
propertychange
Ereignis, das feuert in Reaktion auf eine änderung in einem Attribut oder der CSS-Eigenschaft eines Elements. Es feuert in Reaktion auf die änderung derinnerHTML
- Eigenschaft eines Elements direkt, aber nicht, wenn der Inhalt der Elemente verändert, durch einige andere Mittel (z.B. durch die Verwendung von DOM-Methoden wieappendChild()
oder durch Veränderung derinnerHTML
eines child-Elements).UPDATE 6. Februar 2014
Wie schon in den Kommentaren, gibt es einen workaround. Es basiert auf einer ausgeklügelten hack-und ich würde empfehlen, mit mutation Beobachter statt, wo immer möglich.
Siehe @naugtur Antwort für details. @naugtur Antwort wurde gelöscht, aber die Lösung kann gefunden werden bei https://github.com/naugtur/insertionQueryInformationsquelleAutor der Antwort Tim Down
Können Sie over-ride die DOM-manipulation - Methoden appendChild, insertBefore, replaceChild, insertAdjacentHTML, etc - und monitor innerHTML mit onpropertychange.
Könnten Sie in der Lage zu kommen mit einer Lösung, die Ihren Anforderungen genügt.
BTW, es scheint, dass DOMNodeInserted, etc werden als veraltet markiert von den Browsern in der Zukunft.
Sehen http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents
InformationsquelleAutor der Antwort Sean Hogan
onreadystatechange wird im IE funktioniert. Ein DHTML-Verhalten angeschlossen werden muss, um das element über den htc, aber die htc-Datei nicht vorhanden:
onreadystatechange-event-Referenz
InformationsquelleAutor der Antwort Paul Sweatte
Einen dirty workaround ist das abfangen der Prototyp Methoden der Typ-Element wie folgt:
InformationsquelleAutor der Antwort Tires
Verwendung onreadystatechange wie vorgeschlagen durch Paul Sweatte nicht wirklich funktioniert. Das readystatechange-Ereignis wird nur ausgelöst, wenn beim laden foo.htc. Es hat nichts zu tun mit der änderung der DOM-Knoten.
Ich habe ein wenig Geige zu demonstrieren. Haben Sie einen Blick auf http://jsfiddle.net/Kermit_the_frog/FGTDv/ oder http://jsfiddle.net/Kermit_the_frog/FGTDv/embedded/result/.
HTML:
JS/Jquery:
Wie Sie sehen können: obwohl es keine DOM-manipulation geht es zu einer readystatechange-Ereignis.
InformationsquelleAutor der Antwort Kermit_the_frog
Scheint, DHTML-Verhalten kann verwendet werden, im IE zu emulative
DOMNodeInserted
.InformationsquelleAutor der Antwort 4esn0k