在textInput中的光标位置插入文本

时间:2014-03-07 08:52:29

标签: actionscript-3 flex actionscript flex4.5

我需要在键盘的key_up事件上的光标位置添加文本。 首先我用箭头移动光标。 然后,当我试图写任何东西时,它会转到textInput的末尾。 因为我使用了setrange()。

这是我的代码示例.....

var view:MainView;

eventMap.mapListener(view.numDisplay,KeyboardEvent.KEY_DOWN,onKeyBoardKeyDown);


private function onKeyBoardKeyDown(vEvent:KeyboardEvent):void
{
    view.numDisplay.selectRange(view.numDisplay.text.length, view.numDisplay.text.length);
    var cno:String=String.fromCharCode(vEvent.charCode);
    var no:String=view.numDisplay.text;
    if(no=="0") no="";
    view.numDisplay.text=no+cno;    
}

例如: - 如果我写

  

hii alll

然后确定。

之后我用箭头键移动光标。 假设我的光标位于

  

然后如果写任何东西,那么它看起来像

  

hii alll123

但我需要输出

  

hii a123lll

1 个答案:

答案 0 :(得分:0)

我不知道你为什么要使用该行:

view.numDisplay.selectRange(view.numDisplay.text.length, view.numDisplay.text.length);

但也许您可以将其更改为

view.numDisplay.selectRange(view.numDisplay.caretIndex, view.numDisplay.caretIndex);

将选择设置为实际光标位置,以使文本不在最后但位于正确的位置。

你没试过线路吗?你试图用这个纠正什么问题? 使用标准行为,光标始终在键入的最后一个字符之后。我不明白你为什么要强迫它在文本的最后。

相关问题