Wie bewegen Sie programmatisch den Cursor eines Flex TextArea- bis zum Ende?
-
20-08-2019 - |
Frage
Ich versuche, die caret in einem Flex TextArea- bis zum Ende nach Anfügen eines Textes von meinem Code zu bewegen. Ich habe für TextArea- und die ihr zugrunde liegenden TextField- durch die Referenz-Dokumentation gesucht, aber es scheint kein Verfahren vorgesehen ist, dies zu umgehen.
Ein Ansatz, den ich versucht habe, ist, den Fokus auf den Textbereich zu setzen und lösen Sie ein KeyUp Keyboard mit dem Tastencode-Set-Ereignisse der Taste „Ende“, aber das funktioniert nicht.
Alle Ideen, wie dies zu tun?
Danke.
Lösung
Versuchen Sie, diese
textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
Andere Tipps
Für Menschen, für den Spark-Komponente Weg, um dies zu tun, Flex 4.5, Verwendung selectRange(anchorIndex, activeIndex)
den Cursor an einer beliebigen Position einzustellen, in ein Textfeld alle u tun müssen, ist
textArea.setSelection (beginIndex-, endIndex);
, wenn u die beginIndex- & endIndex auf den gleichen Wert (in Ihrem Fall textArea.text.length) wird die Einfügemarke an diesen positon platziert werden. Wenn Sie es auf verschiedene Werte, Text in diesem Bereich festgelegt werden hervorgehoben.
Ich glaube, können Sie direkt den Textbereich der Scrollbar mit
gesetztverticalScrollPosition : Number
textArea.verticalScrollPosition(i);
@ Paul Stewart verticalScrollPosition- ist eine Eigenschaft, keine Methode, so dass Sie es ähnlich ein Feld verwenden, wie:
var newPosition:NUmber = 1;
textArea.verticalScrollPosition = newPosition;
Der Vorteil davon über einen selection mit / selectionEndIndex ist es, Sie müssen keinen foucus gesetzt.
Fügen Sie einfach den folgenden Code nach einem Text zum TextArea- hinzufügen:
textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;