簡體   English   中英

AS3使函數偵聽各種事件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM