2014-03-07 233 views
0

我需要在键盘的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

+0

你为什么在你的keyDown处理程序中使用selectRange()? –

+0

因为我想光标总是在字符的末尾。 @Binou – subrat71

+0

如果位置发生变化,我想更新值.. – subrat71

回答

0

我不知道为什么你正在使用线路:

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

但也许你可以把它改成

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

的选择设置为实际光标位置,所以你的文字不会在最后,但在正确的位置。

你尝试没有线?你试图用这个纠正什么问题? 使用标准行为,游标始终位于输入的最后一个字符之后。我不明白你为什么要强迫它在文本的末尾。

+0

感谢您的重播......但我得到了一个解决方案,如 – subrat71

+0

var cursorPosition:int = view.numDisplay.selectionAnchorPosition; – subrat71

相关问题