2013-04-08 145 views
0

我使用兩個TextInput字段爲用戶名和密碼構建登錄表單。我已經創建了一個簡單明瞭的按鈕。我希望用戶可以選擇按下鍵盤上的Enter來登錄,而不是點擊按鈕。我怎麼做?而且,你能解釋一下Event.Change的作用嗎?非常感謝使用鍵盤輸入actionscript 3輸入

回答

0

您可以聽KeyboardEvent.KEY_DOWN,它是在鍵被按下時分派的。一旦發生這種情況,您可以停止收聽。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/KeyboardEvent.html

然後查找鍵代碼的回車鍵(13)。 http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000520.html

實施例:

public static const ENTER:int = 13; 
public var pressedEnter:Boolean = false; 

public function start():void 
{ 
    passwordField.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown, 
     false, 0, true); 
} 

private function onKeyDown(e:KeyboardEvent):void 
{ 
    if (!pressedEnter && ENTER == e.keyCode) { 
     trace("TODO: Enter form."); 
     pressedEnter = true; 
    } 
} 

Event.CHANGE調度每次文本字段變化,或在微件改變到一個不同的選項的選項。

+0

感謝一堆Ethan我測試了你的代碼,它的工作!偉大的東西 – 2013-04-10 18:58:32

0
stage.addEventListener(KeyboardEvent.KEY_DOWN, key_down); 


function key_down(e:Event):void 
{ 
    //whatever you want 

} 
+1

雖然這段代碼可能會解決這個問題,但[包括解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – kayess 2017-05-23 13:35:55