Ich schreibe einen benutzerdefinierten HTML-Editor. Der Benutzer kann einen gesamten HTML-Inhalt bearbeiten und die Änderungen werden im DOM aktualisiert. Wir haben die Möglichkeit, alle Änderungen rückgängig zu machen.Rückgängig dom Änderungen in JS
Logic:
Clone ein ganzer Container vor der Änderung zu machen und sie wieder anzuwenden.
Nachteile:
eine große Variable in js Speicher.
Und die Änderungen erneut anwenden, wird ein dom alles neu streichen.
Gibt es eine Möglichkeit, das gleiche zu erreichen ?.
Wie Sie jquery verwenden, speichern Sie das geklonte Dom als String und verwenden Sie '.html()', um es erneut einzufügen. Auf diese Weise speichern Sie nur Strings statt Dom-Fragmente. – atmd
Speichern von HTML-Strings ist nicht speicherintensiv und ist wahrscheinlich, was Sie sowieso an Server senden würden – charlietfl
contentEditable Seiten unterstützen rückgängig machen Befehle, aber ich weiß nicht, wie gut die Browser-Unterstützung für das ist – the8472