Question

J'essaie de déplacer le curseur dans une zone de texte Flex à la fin après avoir ajouté du texte à partir de mon code. J'ai consulté la documentation de référence de TextArea et de TextField sous-jacent, mais il semble qu'aucune méthode ne soit fournie pour gérer cela.

Une approche que j'ai déjà essayée consiste à définir le focus sur la zone de texte et à envoyer un événement KeyUp KeyboardEvent avec le code de clé de l'événement défini sur & "Fin &"; clé, mais cela ne fonctionne pas.

Avez-vous des idées sur la façon de procéder?

Merci.

Était-ce utile?

La solution

Essayez ceci

textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;

Autres conseils

Pour ceux qui recherchent la méthode du composant Spark, Flex 4.5, utilisez selectRange(anchorIndex, activeIndex)

.

Pour définir le curseur à n’importe quelle position dans une zone de texte, il vous suffit de le faire

.

textArea.setSelection (beginIndex, endIndex);

si vous définissez beginIndex & amp; endIndex à la même valeur (dans votre cas, textArea.text.length), le curseur sera placé à cette position. Si vous définissez des valeurs différentes, le texte de cette plage sera mis en surbrillance.

Je crois que vous pouvez définir directement la barre de défilement de la zone de texte avec

verticalScrollPosition : Number
textArea.verticalScrollPosition(i);

@Paul Stewart verticalScrollPosition est une propriété et non une méthode. Vous devez donc l'utiliser de la même manière qu'un champ, tel que:

var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;

L'avantage de l'utiliser par rapport à selectionBeginIndex / selectionEndIndex est qu'il n'est pas nécessaire de définir un foucus.

Ajoutez simplement le code suivant après avoir ajouté un texte à la zone de texte:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top