Maison >interface Web >js tutoriel >Comment puis-je récupérer la position du curseur dans un champ de saisie de texte ?

Comment puis-je récupérer la position du curseur dans un champ de saisie de texte ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 19:06:19834parcourir

How Can I Retrieve the Caret Position in a Text Input Field?

Récupération de la position du curseur dans un champ de saisie de texte

Vous voulez savoir comment obtenir la position du curseur à partir d'un champ de saisie ? Cet article proposera plusieurs solutions, dont un plugin jQuery facile à intégrer.

plugin jQuery

Pour obtenir la position du curseur à l'aide du plugin jQuery, suivez ces étapes :

  • Installez un plugin jQuery tel que Caret. js.
  • Référencez le script du plugin dans la page.
  • Utilisez la méthode $("#myinput").caretPosition() pour obtenir la position du curseur.

Autres solutions

Si vous ne souhaitez pas utiliser le plugin jQuery, vous pouvez utiliser les solutions suivantes :

JavaScript natif

Cette méthode est basée sur field.selectionStart Propriétés :

function doGetCaretPosition(field) {
  return field.selectionStart;
}

Fonctions Readme

Cette solution offre une compatibilité plus large, notamment IE et Firefox :

function doGetCaretPosition(field) {
  var iCaretPos = 0;

  // IE support
  if (document.selection) {
    field.focus();
    var oSel = document.selection.createRange();
    oSel.moveStart('character', -field.value.length);
    iCaretPos = oSel.text.length;
  }

  // Firefox support
  else if (field.selectionStart || field.selectionStart == '0') {
    iCaretPos = field.selectionDirection=='backward' ? field.selectionStart : field.selectionEnd;
  }

  return iCaretPos;
}

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