2013-04-11 33 views
0

我想在文本框中捕获1个字母,但闪光只记录我输入多个字母,所以如果我键入'G'它不起作用,但如果我输入'GH'然后注册。 到目前为止,我正在捕获它。 (局部的代码)闪光灯只接受输入框中的多个字符

function goToFrame8(event:MouseEvent):void 
{ 

    addChild(answerInput); 
    answerInput.x = 350; 
    answerInput.y = 350; 


    //next 'frame' button 
    addChild(next8); 
    next8.x = 650; 
    next8.y = 520; 
    next8.addEventListener(MouseEvent.CLICK, goToFrame9); 


    answerInput.randomText.addEventListener(TextEvent.TEXT_INPUT, inputEventCapture); 
} 


function inputEventCapture(event:TextEvent):void 
{ 
    text1 = answerInput.randomText.text; 
} 

function goToFrame9(event:MouseEvent):void 
{ 
    trace(text1); 
removeChild(answerInput); 
} 

回答

1

尝试使用KeyboardEvent.KEY_UP事件而不是TextEvent.TEXT_INPUT。 KEY_UP事件在按下键后释放。您添加事件侦听器的对象将需要焦点,但是您的文本字段将具有焦点,因为您必须单击该文本字段才能输入焦点。

function goToFrame8(event:MouseEvent):void 
{ 

    addChild(answerInput); 
    answerInput.x = 350; 
    answerInput.y = 350; 


    //next 'frame' button 
    addChild(next8); 
    next8.x = 650; 
    next8.y = 520; 
    next8.addEventListener(MouseEvent.CLICK, goToFrame9); 


    answerInput.randomText.addEventListener(KeyboardEvent.KEY_UP, inputEventCapture); 
} 


function inputEventCapture(event:KeyboardEvent):void 
{ 
    text1 = answerInput.randomText.text; 
} 

function goToFrame9(event:MouseEvent):void 
{ 
    trace(text1); 
    removeChild(answerInput); 
} 
+0

甜甜的Jonny Henly。谢谢! – user2128095 2013-04-11 21:57:00

+1

要添加到此,您还可以使用'Event.CHANGE'。 Event.CHANGE将在每次更改字符后在移动设备上触发,而“KeyboardEvent”仅在隐藏软键盘后触发。 – 2013-04-12 16:41:03