Heim > Web-Frontend > js-Tutorial > Wie legt man die Caret-Position in einem inhaltsbearbeitbaren Element fest?

Wie legt man die Caret-Position in einem inhaltsbearbeitbaren Element fest?

Barbara Streisand
Freigeben: 2024-12-14 08:55:10
Original
754 Leute haben es durchsucht

How to Set the Caret Position in a Contenteditable Element?

Legen Sie die Caret-Position in inhaltsbearbeitbaren Elementen fest

Bei der Webentwicklung kann es vorkommen, dass Sie die Caret-Position (Cursor) steuern möchten innerhalb eines inhaltsbearbeitbaren Elements, z. B. eines Texteditors oder eines Nachrichteneingabefelds. Dies ermöglicht eine präzise Bearbeitung oder Cursorplatzierung an bestimmten Stellen.

Um dies zu erreichen, können Sie die Range- und Selection-Objekte in JavaScript verwenden. Hier ist ein Beispiel, das zeigt, wie die Caret-Position festgelegt wird:

function setCaret() {
    var el = document.getElementById("editable");
    var range = document.createRange();
    var sel = window.getSelection();

    // Set the start position of the range at the beginning of the fifth character of the third line
    range.setStart(el.childNodes[2], 5);

    // Collapse the range to the start point
    range.collapse(true);

    // Set the selection to start at the start position of the range
    sel.removeAllRanges();
    sel.addRange(range);
}
Nach dem Login kopieren

In diesem Beispiel gehen wir von der Existenz eines

Element mit der ID „editable“ und machen Sie es inhaltsbearbeitbar. Wenn Sie auf eine Schaltfläche klicken, verschiebt die setCaret-Funktion die Einfügemarke auf das fünfte Zeichen der dritten Textzeile innerhalb des inhaltsbearbeitbaren div-Elements.

Beachten Sie, dass die genaue Implementierung der Einfügemarke in verschiedenen Browsern leicht variieren kann. Der hier beschriebene allgemeine Ansatz wird jedoch weitgehend unterstützt.

Das obige ist der detaillierte Inhalt vonWie legt man die Caret-Position in einem inhaltsbearbeitbaren Element fest?. 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