Maison > interface Web > js tutoriel > Comment placer de manière fiable le curseur à la fin d'un élément de saisie de texte en JavaScript ?

Comment placer de manière fiable le curseur à la fin d'un élément de saisie de texte en JavaScript ?

Linda Hamilton
Libérer: 2024-11-30 06:03:11
original
880 Les gens l'ont consulté

How to Reliably Place the Cursor at the End of a Text Input Element in JavaScript?

Placer le curseur à la fin d'un élément de saisie de texte en JavaScript

Placer le curseur à la fin d'un élément de saisie de texte via JavaScript est une méthode simple tâche, en particulier une fois que le focus est défini sur l'élément. Explorons l'approche la plus efficace et la plus simple :

L'extrait de code suivant fournit une solution simple mais efficace :

this.selectionStart = this.selectionEnd = this.value.length;
Copier après la connexion

Cette ligne calcule la longueur de la valeur d'entrée et définit à la fois le début et terminer les curseurs à cette position. Cette méthode fonctionne dans la plupart des principaux navigateurs.

Cependant, certains navigateurs présentent des bizarreries qui nécessitent une solution plus complète :

setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);
Copier après la connexion

Dans cet extrait de code, un setTimeout() est utilisé pour répondre aux problèmes potentiels. incohérences du navigateur. Il définit la position du curseur sur un nombre arbitrairement grand (par exemple, 10 000), garantissant qu'il se situe au-delà de la fin du texte saisi, en le plaçant essentiellement à la fin.

De plus, vous pouvez utiliser jQuery pour définir la auditeur ciblé :

$('#el').focus(function(){
  var that = this;
  setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal