


Wie erhalte ich den Start- und Endversatz einer Textauswahl innerhalb eines Containerelements?
Ermitteln Sie die Start- und Endpositionen einer Textauswahl relativ zu ihrem Container
Problem:
Betrachten Sie den folgenden HTML-Code:
<div>
Angenommen, ein Benutzer wählt den Text aus „Heimat“ aus diesem Element. Wie können wir den Start- und Endoffset dieser Auswahl relativ zum #parent-Container bestimmen?
Antwort:
Die Eigenschaft „range.startOffset“ scheint die gewünschte Funktionalität bereitzustellen , stellt aber nur einen Offset innerhalb des unmittelbaren Containers dar. Darüber hinaus stellt es nur dann einen Zeichenversatz dar, wenn der Container ein Textknoten ist.
Aktualisierter Code:
Hier ist eine aktualisierte Version des Codes, die beide Starts korrekt zurückgibt und Endversätze:
function getSelectionCharacterOffsetWithin(element) { var start = 0; var end = 0; var doc = element.ownerDocument || element.document; var win = doc.defaultView || doc.parentWindow; var sel; if (typeof win.getSelection != "undefined") { sel = win.getSelection(); if (sel.rangeCount > 0) { var range = win.getSelection().getRangeAt(0); var preCaretRange = range.cloneRange(); preCaretRange.selectNodeContents(element); preCaretRange.setEnd(range.startContainer, range.startOffset); start = preCaretRange.toString().length; preCaretRange.setEnd(range.endContainer, range.endOffset); end = preCaretRange.toString().length; } } else if ((sel = doc.selection) && sel.type != "Control") { var textRange = sel.createRange(); var preCaretTextRange = doc.body.createTextRange(); preCaretTextRange.moveToElementText(element); preCaretTextRange.setEndPoint("EndToStart", textRange); start = preCaretTextRange.text.length; preCaretTextRange.setEndPoint("EndToEnd", textRange); end = preCaretTextRange.text.length; } return { start: start, end: end }; }
Das obige ist der detaillierte Inhalt vonWie erhalte ich den Start- und Endversatz einer Textauswahl innerhalb eines Containerelements?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist

HTTP-Debugging mit Knoten und HTTP-Konsole

Benutzerdefinierte Google -Search -API -Setup -Tutorial

JQuery fügen Sie Scrollbar zu Div hinzu
