Techniques de positionnement du curseur du clavier dans une zone de texte
Déplacer le curseur du clavier vers un emplacement spécifique dans une zone de texte peut améliorer l'interaction et l'édition de l'utilisateur efficacité. Pour y parvenir, diverses méthodes sont disponibles.
Fonction générique de positionnement du curseur
Extraite de l'article de Josh Stodola, la fonction suivante offre une solution polyvalente pour définir la position du curseur dans à la fois les zones de texte et les zones de texte :
function setCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if (elem != null) { if (elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else { if (elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else elem.focus(); } } }
Cette fonction prend deux paramètres : l'ID de l'élément cible et le curseur souhaité position. Passer zéro comme position du curseur le placera au début du texte, et dépasser la longueur de la valeur de l'élément le placera à la fin.
Exemple d'utilisation
L'exemple fourni illustre comment forcer le curseur du clavier à passer à la fin de toutes les zones de texte d'une page lorsqu'ils reçoivent focus :
function setTextAreasOnFocus() { var textAreas = document.getElementsByTagName('textarea'); for (var i = 0; i < textAreas.length; i++) { textAreas[i].onfocus = function() { setCaretPosition(this.id, this.value.length); } } textAreas = null; } addLoadEvent(setTextAreasOnFocus);
Ce code place efficacement le curseur à la fin de toutes les zones de texte au fur et à mesure qu'elles reçoivent le focus, facilitant ainsi l'édition de texte et le remplissage du formulaire.
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!