Heim > Web-Frontend > js-Tutorial > Wie verschiebe ich das Caretzeichen an das Ende eines ContentEditable-Elements?

Wie verschiebe ich das Caretzeichen an das Ende eines ContentEditable-Elements?

Linda Hamilton
Freigeben: 2024-11-09 07:04:02
Original
255 Leute haben es durchsucht

How to Move the Caret to the End of a ContentEditable Element?

Manipulieren des Einfügezeichens in inhaltsbearbeitbaren Elementen

Problem: Wie können Sie das Einfügezeichen effizient an das Ende von a verschieben? inhaltsbearbeitbares Element, das das Verhalten im Notizen-Widget von Gmail nachahmt?

StackOverflow bietet Lösungen, die für Eingabeelemente funktionieren, bei inhaltsbearbeitbaren Elementen jedoch fehlschlagen. Dieser Artikel stellt einen maßgeschneiderten Ansatz speziell für inhaltsbearbeitbare Elemente vor.

Lösung:

Für Browser, die inhaltsbearbeitbare Elemente unterstützen, kann die folgende JavaScript-Funktion die gewünschte Caret-Bewegung ausführen:

function setEndOfContenteditable(contentEditableElement) {
    // Determine browser support
    var range, selection;
    if (document.createRange) {
        // Modern browsers
        range = document.createRange();
        range.selectNodeContents(contentEditableElement);
        range.collapse(false); // Collapse to end of range
        selection = window.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
    } else if (document.selection) {
        // IE 8 and lower
        range = document.body.createTextRange();
        range.moveToElementText(contentEditableElement);
        range.collapse(false); // Collapse to end of range
        range.select();
    }
}
Nach dem Login kopieren

Verwendungsbeispiel:

Um die Einfügemarke an das Ende eines Elements mit der ID „txt1“ zu verschieben:

elem = document.getElementById('txt1');
setEndOfContenteditable(elem);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verschiebe ich das Caretzeichen an das Ende eines ContentEditable-Elements?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage