Actionscript 3 - 在TextArea中获取Cursor的位置?

时间:2011-12-05 16:24:45

标签: actionscript-3 cursor textarea position textfield

我在Actionscript 3中制作了一些东西,人们可以在TextArea中修改一段文字。 现在,使用event.getChar。

很容易获得键入的字符

但是,我还想知道键入字符的位置:(文本)光标位置。 我已经读到使用TextField很容易,但是,我想使用TextArea有几个原因:

我已经读过有关TextField的可能性,但我不确定如何将其转换为输入字段...

此外,建议将TextArea用于多行文字。

如果我能破解TextField的行为就像TextArea一样,我就可以了。

所以,我的问题: 如何在TextArea中获取光标的位置?

如何让TextField表现得像TextArea?

编辑:我设法输入TextField,但是caretIndex返回xyz坐标,对于文本编辑/比较来说相当没用......有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以通过执行以下操作查看在文本字段中单击了哪个字母:

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;
});