Dieses Dokument enthält Code -Snippets für die Verwaltung der Textauswahl in Eingabefeldern. Moderne Chrom und Firefox verwenden .setSelectionRange()
, aber Firefox benötigt, dass das Element im Voraus Fokus hat.
Cursorposition erhalten:
jQuery.fn.getCursorPosition = function(){ if(this.length == 0) return -1; return $(this).getSelectionStart(); };
Erhalten Sie Auswahlstart:
jQuery.fn.getSelectionStart = function(){ if(this.length == 0) return -1; input = this[0]; var pos = input.value.length; if (input.createTextRange) { var r = document.selection.createRange().duplicate(); r.moveEnd('character', input.value.length); if (r.text == '') pos = input.value.length; pos = input.value.lastIndexOf(r.text); } else if(typeof(input.selectionStart)!="undefined") pos = input.selectionStart; return pos; };
Cursorposition einstellen:
jQuery.fn.setCursorPosition = function(pos) { this.each(function(index, elem) { if (elem.setSelectionRange) { elem.setSelectionRange(pos, pos); } else if (elem.createTextRange) { var range = elem.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }); return this; };
Cursorposition einstellen (alternativ):
function setCursorPos(node,pos){ var node = (typeof node == "string" || node instanceof String) ? document.getElementById(node) : node; node.focus(); // Crucial for Firefox if(!node) return false; else if(node.createTextRange){ var textRange = node.createTextRange(); textRange.collapse(true); textRange.moveStart('character', pos); textRange.moveEnd('character', 0); textRange.select(); return true; }else if(node.setSelectionRange){ node.setSelectionRange(pos,pos); return true; } return false; }
häufig gestellte Fragen:
Der FAQ -Abschnitt enthält klare Erklärungen zu setSelectionRange
, selectionStart
, selectionEnd
, Browserkompatibilität und Handhabung von Parametern. Die Antworten sind prägnant und genau. Hier sind keine Änderungen erforderlich.
Das obige ist der detaillierte Inhalt vonEingabe von Textauswahlcode -Snippets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!