5

JavaScriptの新機能。これは本当に簡単かもしれませんが、理解できません。関数を実行したい。関数の途中で一時停止し、ユーザーが「Enter」キーを押すのを待ちます。これにより、関数が再び続行できるようになります (または別の関数を呼び出して起動します)。

function appear()
{
document.getElementById("firstt").style.visibility="visible";
//here is where I want the pause to happen until the user presses "enter" key
//Below is what I want to happen after the "enter" key has been pressed.
document.getElementById("startrouter").style.visibility="visible";


}
4

3 に答える 3

3

JavaScriptがキーの押下を待っているかどうかを確認するために、グローバル変数を作成します。

スクリプトの先頭に追加できます

var waitingForEnter = false;

次に、関数で true に設定します

function appear()
{
     document.getElementById("firstt").style.visibility="visible";
     waitingForEnter = true;
}

次に...Enterキーのリスナーを追加します

function keydownHandler(e) {

    if (e.keyCode == 13 && waitingForEnter) {  // 13 is the enter key
        document.getElementById("startrouter").style.visibility="visible";
        waitingForEnter = false; // reset variable
    }
}

// register your handler method for the keydown event
if (document.addEventListener) {
    document.addEventListener('keydown', keydownHandler, false);
}
else if (document.attachEvent) {
    document.attachEvent('onkeydown', keydownHandler);
}

これが役立つことを願っています。これは私がやろうとしていることであり、最善のアプローチではないかもしれません。

于 2013-06-18T18:24:26.937 に答える
1

または、Javalsu からソリューションをインライン化し、グローバル変数を取り除くことができます。

function appear(){
    document.getElementById("firstt").style.visibility="visible";
    //here is where I want the pause to happen until the user presses "enter" key
    function after(){
        //Below is what I want to happen after the "enter" key has been pressed.
        document.getElementById("startrouter").style.visibility="visible";
    }
    function keydownHandler(e) {
        if (e.keyCode == 13 && waitingForEnter) {  // 13 is the enter key
            after();
        }
    }
    // register your handler method for the keydown event
    if (document.addEventListener) {
        document.addEventListener('keydown', keydownHandler, false);
    }
    else if (document.attachEvent) {
        document.attachEvent('onkeydown', keydownHandler);
    }
}
于 2013-06-18T18:46:39.590 に答える