Heim > Artikel > Web-Frontend > Wie füge ich mit JavaScript Text an der Cursorposition in einen Textbereich ein?
Einfügen von Text an der Cursorposition mit Javascript/jQuery
In der Webentwicklung kann das Hinzufügen von Text an der Cursorposition das Benutzererlebnis verbessern. Ein Szenario besteht darin, Benutzern zu ermöglichen, beim Klicken auf einen Link nahtlos vordefinierten Text in ein Textfeld einzufügen.
Text an der Cursorposition einfügen
Um Text an der Cursorposition einzufügen, haben wir kann die folgende JavaScript-Funktion verwenden:
function insertAtCaret(areaId, text) { // Get the textarea element var txtarea = document.getElementById(areaId); // Check if the element exists if (!txtarea) { return; } // Determine the browser type (Internet Explorer or others) var br = ((txtarea.selectionStart || txtarea.selectionStart == '0') ? "ff" : (document.selection ? "ie" : false)); // Calculate the cursor position var strPos = 0; if (br == "ie") { txtarea.focus(); var range = document.selection.createRange(); range.moveStart('character', -txtarea.value.length); strPos = range.text.length; } else if (br == "ff") { strPos = txtarea.selectionStart; } // Create a string that consists of the text before, after, and the inserted text var front = (txtarea.value).substring(0, strPos); var back = (txtarea.value).substring(strPos, txtarea.value.length); txtarea.value = front + text + back; // Reset the cursor position after inserting the text strPos = strPos + text.length; if (br == "ie") { txtarea.focus(); var ieRange = document.selection.createRange(); ieRange.moveStart('character', -txtarea.value.length); ieRange.moveStart('character', strPos); ieRange.moveEnd('character', 0); ieRange.select(); } else if (br == "ff") { txtarea.selectionStart = strPos; txtarea.selectionEnd = strPos; txtarea.focus(); } }
Beispielverwendung
Der folgende HTML- und JavaScript-Code zeigt, wie die Funktion insertAtCaret() verwendet wird:
<textarea>
Das obige ist der detaillierte Inhalt vonWie füge ich mit JavaScript Text an der Cursorposition in einen Textbereich ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!