Maison >interface Web >js tutoriel >Extraits de code de sélection de texte d'entrée
Ce document fournit des extraits de code pour gérer la sélection de texte dans les champs d'entrée. Le chrome moderne et Firefox utilisent .setSelectionRange()
, mais Firefox exige que l'élément se concentre au préalable.
Obtenir la position du curseur:
<code class="language-javascript">jQuery.fn.getCursorPosition = function(){ if(this.length == 0) return -1; return $(this).getSelectionStart(); };</code>
Obtenir le démarrage de la sélection:
<code class="language-javascript">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; };</code>
Réglage de la position du curseur:
<code class="language-javascript">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; };</code>
Réglage de la position du curseur (alternative):
<code class="language-javascript">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; }</code>
Questions fréquemment posées:
La section FAQ fournit des explications claires de setSelectionRange
, selectionStart
, selectionEnd
, de la compatibilité du navigateur et de la gestion des paramètres. Les réponses sont concises et précises. Aucun changement n'est nécessaire ici.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!