Obtention de la position du curseur dans une zone de texte en nombre de caractères
Résumé du problème :
JavaScript les développeurs recherchent des méthodes pour récupérer la position du curseur basée sur les caractères dans un élément textarea. Cette position est cruciale pour diverses tâches de manipulation de texte.
Réponse :
Les navigateurs Firefox et Safari offrent une solution simple grâce à la propriété textarea.selectionStart. Cependant, pour la compatibilité avec Internet Explorer, une approche plus complexe est nécessaire.
Le code fourni définit la fonction getCaret(), qui utilise une stratégie différente selon le type de navigateur :
De plus, un plugin jQuery FieldSelection est recommandé pour une manipulation plus avancée de la sélection de texte.
Mise en œuvre mise à jour :
Le code original a été affiné comme suit :
function getCaret(el) { if (el.selectionStart) { return el.selectionStart; } else if (document.selection) { el.focus(); var r = document.selection.createRange(); if (r == null) { return 0; } var re = el.createTextRange(), rc = re.duplicate(); re.moveToBookmark(r.getBookmark()); rc.setEndPoint('EndToStart', re); return rc.text.length; } return 0; }
Cette implémentation mise à jour offre une fiabilité et une flexibilité améliorées dans différents environnements de navigateur.
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!