[英]AS3 Make function listen to different kinds of events
我具有一個登錄功能,該功能在用戶輸入用戶名和密碼並單擊“登錄”按鈕后激活。 它運行完美,但是有些人想更快地做事。 他們不想按輸入密碼后單擊按鈕,而是想按Enter鍵登錄...,但同時,我希望“登錄”按鈕也能正常工作。 如何使函數偵聽2種不同的事件(MouseEvent和KeyboardEvent)?
我已經嘗試過諸如checkLogin(e:MouseEvent || e:KeyboardEvent)
類的事情,但是它們只是給我拋出了錯誤。
這是我的代碼...
function checkLogin(e:MouseEvent):void
{
trace("Submition Going Down!!");
if (username.text == "" || password.text == "")
{
//Lots and lots of checks...
else
{
//if the user and pass fields are valid
logErrorT.text = "\n\nRequesting Login...";
processLogin();
}
}
loginButton.addEventListener(MouseEvent.CLICK, checkLogin);
//All this listens for clicks only.
實際上,這很簡單。 首先,您必須取消限制checkLogin
偵聽的事件的類型,如下所示:
function checkLogin(e:Event):void
{
//code
}
然后,您只需要它來監聽鍵盤事件...
function runCheck(e:KeyboardEvent):void
{
if (e.charCode == 13) //charCode 13 is Enter
{
checkLogin(e);
//e is the KeyboardEvent.
}
}
password.addEventListener(KeyboardEvent.KEY_DOWN, runCheck);
希望我能幫上忙,我已經很長時間沒有這個問題了,但是我也無法在網上找到答案。 所以我想我會給任何困惑的初學者一個答案。 祝好運! ^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.