前端 · 2010 年 5 月 18 日

【转】关于as中TextEvent.TEXT_INPUT的问题

一个场景中一个输入文本input, 另外一个是输出文本output:

input.addEventListener(TextEvent.TEXT_INPUT,textinput)
function textinput(evt:TextEvent)
{
output.text=evt.target.text
}

测试的时候发现第一次按键的时候,input.text是空的

问题分析:
TextEvent类,当文本框里字符发生改变时才调度事件,现在如果inPut里有一个字符a,依照楼主的代码,只有输入字符,侦听器才侦听对象inPut,假设现在输入字符b,事件调度以前,inPut.text=a,所以……,换一种思路:
改用:KeyboardEvent.KEY_UP

inPut.addEventListener(KeyboardEvent.KEY_UP ,focusInHandler);
function focusInHandler(evt:KeyboardEvent) {
var str:String = inPut.text;
outPut.text=str.substr(0);
}