Как управлять положением курсора (в каратах) в TextInput в Flex 4.5 - PullRequest
5 голосов
/ 15 сентября 2011

Мне нужно обработать диаграммы, а затем конвертировать их на лету в правильное представление в Юникоде.Например, когда пользователь вводит:

Sx

Мое приложение должно заменить его на:

Ŝ

Теперь я смог выполнить замену без проблем.Однако проблема заключается в том, что после замены курсор переходит к началу текстового поля, а не к его концу.Поскольку я пытаюсь обновить текст пользователя на лету, это очевидное не работает.

Как мне получить его, чтобы после замены текста в поле TextInput курсор находился справасторона, а не левая?

Ответы [ 4 ]

6 голосов
/ 15 сентября 2011

Нашли решение.

Все, что вам нужно сделать, это вместо обновления всего текста, стереть текущий контент и затем использовать:

textInput.appendText()

Надеюсь, это поможет кому-то еще:)

2 голосов
/ 16 сентября 2011

Метод setSelection - это способ установки курсора

textInput.setSelection(textInput.text.length, textInput.text.length);

Вы можете получить текущее начало выделения с помощью TextInput.selectionAnchorPosition и конец выделения с помощью TextInput.selectionAnchorPosition

1 голос
/ 15 сентября 2011

Взгляните на этот SO Вопрос: Как программно переместить каретку Flex TextArea в конец?

Если вы используете textArea, то это будет работать (свыбранный ответ):

textArea.selectionBeginIndex = textArea.length;
textArea.selectionEndIndex = textArea.length;
0 голосов
/ 21 июня 2017

Для людей, приезжающих сюда для решения для Spark textInput, это способ:

textInput.selectRange(textInput.text.length, textInput.text.length);
...