contenteditable markierten text speichern und wiederherstellen

Stieß ich auf diesen Beitrag, der zeigt, 2 Funktionen, wie das speichern und wiederherstellen, den ausgewählten text aus einem contenteditable div. Ich habe die unten div eingestellt als contenteditable und die 2 Funktion aus dem anderen post. Wie kann ich diese Funktionen verwenden, speichern und wiederherstellen, den ausgewählten text.

<div style="width:300px;padding:10px;" contenteditable="true">test test test test</div>

<script>
function saveSelection() {
    if (window.getSelection) {
        sel = window.getSelection();
        if (sel.getRangeAt && sel.rangeCount) {
            return sel.getRangeAt(0);
        }
    } else if (document.selection && document.selection.createRange) {
        return document.selection.createRange();
    }
    return null;
}

function restoreSelection(range) {
    if (range) {
        if (window.getSelection) {
            sel = window.getSelection();
            sel.removeAllRanges();
            sel.addRange(range);
        } else if (document.selection && range.select) {
            range.select();
        }
    }
}
</script>
  • Sie müssen mit den Methoden des Range-Objekts (siehe mozilla-doc: developer.mozilla.org/en/DOM/range ). Im Grunde genommen, eine Reihe besteht aus einer Knoten-und offset innerhalb dieses Knotens. Eine Möglichkeit zum speichern der HTML-zusammen mit der Auswahl ist die Verwendung von "carets" (siehe Schließung der Bibliothek für Ideen: closure-library.googlecode.com/svn/docs/... ).
InformationsquelleAutor Hussein | 2011-01-14
Schreibe einen Kommentar