Comment obtenir le texte sélectionné/position du curseur d'une entrée qui n'ont pas d'accent?
Est-il possible d' (fiable) d'obtenir le texte sélectionné/position du curseur dans une zone de texte d'entrée si ce champ n'est pas focus?
Si non, quelle est la meilleure façon d'obtenir et de conserver ces données?
En gros, quand un utilisateur clique sur un bouton, je veux insérer du texte à la position du curseur. Cependant, dès que l'utilisateur clique sur ce bouton, le champ perd le focus et je perds la position du curseur.
Vous devez vous connecter pour publier un commentaire.
Le script suivant va tenir la position du curseur, puis un clic sur un bouton permettra d'insérer du texte à la position enregistrée:
Javascript:
HTML:
Le script peut être modifié si vous voulez tenir la position du curseur dans une variable onblur.
Utiliser les 2 fonctions pour enregistrer et restaurer la sélection de texte.
Vérifier exemple de Travail à http://jsfiddle.net/LhQda/
Tapez quelque chose dans la
TEXTAREA
, puis cliquez en dehors de laTEXTAERA
à perdre de la sélection, puis cliquez sur le bouton accent à la restauration de sélection et de se concentrer de nouveau.saveSelection
retourne la sélection, que vous n'avez pas stocké dans une variable ou quoi que ce soit, etrestoreSelection
prend unrange
en tant que paramètre dans laquelle vous avez passé de rien. Votre exemple de travaux en FF FF ne pas perdre la position du curseur par défaut. IE (et peut-être d'autres navigateurs) faire.get selected text/caret position of an input that doesn't have focus?
. Le code vous donne à la fois l'accent et le texte sélectionné.window.getSelection
serait utile s'il existe plusieurs entrées sur la page, en supposant qu'il attrape ce que...le dernier texte sélectionné?