2013-04-11 36 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