Ermitteln der Caret-Position in einem Textbereich
Bestimmen der Caret-Position innerhalb eines
Für moderne Browser wie Firefox und Safari, die die Eigenschaft „selectionStart“ unterstützen, ist das Ermitteln der Spaltenposition des Caretzeichens unkompliziert:
function getCaretColumn(textarea) { return textarea.selectionStart; }
In IE und älteren Browsern ist diese Eigenschaft jedoch nicht verfügbar, sodass eine komplexere Vorgehensweise erforderlich ist Lösung:
function getCaretColumnIE(textarea) { var caret = document.selection.createRange(); var length = 0; var dul = caret.duplicate(); dul.moveToElementText(textarea); sel.text = '<pre class="brush:php;toolbar:false">function getSurroundingStrings(textarea) { var start = textarea.selectionStart; var end = textarea.selectionEnd; return [ textarea.value.slice(0, start), textarea.value.slice(start, end), textarea.value.slice(end) ]; }
Strings rund um den Cursor abrufen
Um die Strings rund um den Cursor oder die Auswahl abzurufen, können wir eine Kombination aus dem Abrufen des Start- und End-Caret verwenden Positionen, zusammen mit dem Schneiden des Textbereichswerts:
In Fällen, in denen ein Wort oder Text hervorgehoben ist, würde diese Funktion die zurückgeben Zeichenfolgen vor, innerhalb und nach der Auswahl.
Das obige ist der detaillierte Inhalt vonWie kann ich die Caret-Position und den umgebenden Text in einem Textbereich ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!