2009-02-02 6 views
5

Я пытаюсь переместить каретку в Flex TextArea до конца после добавления некоторого текста из моего кода. Я просмотрел справочную документацию для TextArea и ее базового TextField, но, похоже, для этого не существует метода.Как вы программно перемещаете каретку Flex TextArea до конца?

Один из подходов, который я пробовал, заключается в том, чтобы установить фокус на текстовую область и отправить KeyUp KeyboardEvent с кодом ключа события, установленным на клавишу «Конец», но это не сработает.

Любые идеи о том, как это сделать?

Спасибо.

ответ

8

Попробуйте

textArea.selectionBeginIndex = textArea.length; 
textArea.selectionEndIndex = textArea.length; 
+0

Отлично! Это прекрасно работает, спасибо. Все, что мне нужно сделать, это textArea.setFocus() – Akinwale

0

Я считаю, что вы можете непосредственно установить скроллбар текстовое поле с

verticalScrollPosition : Number 
textArea.verticalScrollPosition(i); 
2

Чтобы установить каретку в любом положении в TEXTAREA все и нужно сделать, это

textArea.setSelection (beginIndex, endIndex);

если u установил beginIndex & endIndex на то же значение (в вашем случае textArea.text.length), то каретка будет помещена в этот positon. Если вы установите его для разных значений, текст в этом диапазоне будет выделен.

0

@Paul Стюарт verticalScrollPosition это свойство не метод, так что вы должны использовать это похоже на поле, как:

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

Преимущество использования его над selectionBeginIndex/selectionEndIndex есть у вас нет установить foucus.

4

Для людей, ищущих Спарк компонентного способа сделать это, Flex 4.5, используйте selectRange(anchorIndex, activeIndex)

0

Просто добавьте следующий код после добавления текста в TextArea:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition; 

 Смежные вопросы

  • Нет связанных вопросов^_^