Maison >interface Web >js tutoriel >Comment placer par programme le curseur à la fin d'une saisie de texte en JavaScript ?

Comment placer par programme le curseur à la fin d'une saisie de texte en JavaScript ?

DDD
DDDoriginal
2024-11-30 11:23:101009parcourir

How Do I Programmatically Place the Cursor at the End of a Text Input in JavaScript?

Placer le curseur à la fin de la saisie de texte avec JavaScript

Placer le curseur à la fin d'un élément de saisie de texte est une tâche courante dans le développement web. Bien que définir le focus sur l'élément soit simple, amener le curseur à la fin du texte saisi peut être délicat.

Solution JavaScript

L'approche la plus simple dans la plupart des navigateurs est pour définir les propriétés selectionStart et selectionEnd de l'élément d'entrée sur la longueur de sa valeur :

this.selectionStart = this.selectionEnd = this.value.length;

Solution inclusive pour Navigateurs originaux

Cependant, certains navigateurs présentent des bizarreries qui nécessitent une approche plus inclusive :

setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);

Cette solution définit une valeur très grande à selectionStart et selectionEnd pour garantir que le curseur est placé à l'extrémité du texte.

Utilisation jQuery

Bien que cela ne soit pas strictement nécessaire, vous pouvez utiliser jQuery pour définir l'écouteur d'événement :

$('#el').focus(function(){
  var that = this;
  setTimeout(function(){ that.selectionStart = that.selectionEnd = 10000; }, 0);
});

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!

Déclaration:
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
Article précédent:Mon parcours React Jour1Article suivant:Mon parcours React Jour1