J'ai un textarea
qui convertit l'anglais à l'événement Hindi onkeyup
. Mais quand je déplace le curseur vers l'arrière pour l'éditer, la première lettre que je tape convertit en hindi et le curseur se déplace à la fin de la chaîne. Est-ce possible de stocker le caret au même point dans le textarea
, de sorte qu'il ne se déplace pas à la fin de la chaîne?Comment rendre textarea modifiable?
Répondre
Le problème avec ceci est que vous écrasez la valeur du textarea chaque place clé qui est ce qui rend le mouvement de caret.
Vous voulez obtenir la valeur du signe avant vous remplacez le texte et le réglez à nouveau après le remplacement.
Stackoverflow Answer: Get Caret Position - code de réponse lié ci-dessous non modifiée
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;
}
Stackoverflow Answer: Set Caret Position - code de réponse lié ci-dessous non modifiée
function SetCursorPosition(pos)
{
// HERE txt is the text field name
var obj=document.getElementById('<%= txt.ClientID %><%= txt.ClientID %>');
//FOR IE
if(obj.setSelectionRange)
{
obj.focus();
obj.setSelectionRange(pos,pos);
}
// For Firefox
else if (obj.createTextRange)
{
var range = obj.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
Il y a quelques autres méthodes pour contourner ce problème en évitant le remplacement de tous les texte sur un événement clé et déplacez-le sur un bouton, appuyez sur, flou/flou ou autre chose. Cela vous permet de ne pas vous soucier de la position du curseur sur la fin.
Le seul inconvénient que je vois pour passer à un autre événement pour déclencher un changement de texte est tout simplement qu'il ne soit pas instantanée.
- 1. Rendre un calendrier modifiable pour n'importe qui?
- 2. Comment rendre une ligne de vue de grille modifiable?
- 3. Comment rendre une vue hiérarchique modifiable comme une vue de table?
- 4. ComboBox modifiable et modifiable (?) Dans MS Access
- 5. Rendre une cellule dans un JTable modifiable - la valeur par défaut de la cellule
- 6. Comment créer une collection profonde non modifiable?
- 7. Elément div modifiable
- 8. Datagrid modifiable dans WPF
- 9. Datagrid modifiable? Répétiteur?
- 10. Comment une liste déroulante non modifiable (zone de liste modifiable) doit-elle être formatée dans Winforms?
- 11. FBJS textarea compte à rebours
- 12. Format <textarea>
- 13. texte d'entrée/textarea taille
- 14. Jquery: Comment trouver du texte dans textarea
- 15. Raccourci dans textarea
- 16. HTML Textarea horizontal scroll
- 17. animer contenu textarea
- 18. la collecte d'une valeur textarea
- 19. texte attribuant à un textarea
- 20. empêche copier + coller pour TextArea()
- 21. Comment rendre wget silencieux?
- 22. comment rendre $ _POST persistant?
- 23. Comment rendre total?
- 24. DynamicPopulateExtender, TextArea et ligne flux
- 25. Zone de texte non modifiable dans wxPython
- 26. JTextField non modifiable: Définir la zone visible
- 27. Attraper les onglets dans TextArea
- 28. navigateur Cross « saut »/« scroll » textarea
- 29. mot multiple Predictive/autocomplete textarea?
- 30. Modification du comportement de ComboBox modifiable
Attendez, pourquoi est-il un problème que les carets se déplace vers la droite du personnage que vous venez de taper? N'est-ce pas un comportement normal? Si le curseur n'est pas placé après le nouveau caractère, vous taperez en arrière (chaque nouveau caractère apparaîtra à gauche du caractère précédent). – Calvin
Son pas comme that..actually lors de l'insertion d'un nouveau personnage au milieu de la chaîne le curseur se déplace vers la droite du nouveau caractère tapé pendant un certain temps et il va jusqu'à la fin de la chaîne ... –