Actionscript 3 - получить позицию курсора в TextArea? - PullRequest
1 голос
/ 05 декабря 2011

Я делаю что-то в ActionScript 3, где люди могут изменять фрагмент текста в пределах TextArea. Теперь легко получить напечатанный символ, но используя event.getChar.

Но я также хотел бы знать, где был введен символ: (текстовое) положение курсора. Я читал о том, что это легко сделать с TextField, однако я хочу использовать TextArea по нескольким причинам:

Я читал о том, что это возможно с TextField, но я не уверен, как бы я сделал это в поле ввода ...

Кроме того, TextArea рекомендуется для многострочного текста.

Если бы я мог взломать TextField, чтобы он вел себя как TextArea, я в порядке.

Итак, мой вопрос: Как узнать положение курсора в TextArea?

или

Как заставить TextField вести себя как TextArea?

РЕДАКТИРОВАТЬ: мне удалось сделать ввод TextField, но caretIndex возвращает координаты XYZ, довольно бесполезно для редактирования / сравнения текста ... Есть предложения по этому поводу?

1 Ответ

3 голосов
/ 05 декабря 2011

вы можете увидеть, какая буква была нажата в текстовом поле, выполнив следующие действия:

var tf:TextField;
var clicked_on_index:int = tf.getCharIndexAtPoint(tf.mouseX, tf.mouseY);//find index of char clicked on in string
var clicked_on_char:String = tf.text.substr( clicked_on_index, 1 );//find char clicked on from textfield

или если вы просто хотите узнать позицию последнего введенного символа:

var tf:TextField;
tf.addEventListener(Event.CHANGE,function(event:Event):void{
    var newCharacterPosition:int=tf.caretIndex;
    var totalCharacters:int=tf.text.length;
});
...