2

単語入力を検出できるかどうか疑問に思っています。2 つのオプションがあります。

  1. 単語を入力し、Enter キーを押すと、animate や go to url などの特定のコマンドが実行されます。

  2. GTA チートや YouTube のイースターエッグなど、ページのどこにでも書き込める単語。

明確でない場合は、言ってください。編集します。

4

3 に答える 3

5

keypress リスナーを body に追加し、文字を文字列に追加して、それを対象の単語と比較します。

var word = "hello";
var input = "";
document.body.addEventListener('keypress',function(ev){
    input += String.fromCharCode(ev.keyCode);
    console.log(input);
    if(input == word){
        alert('typed hello');
        input = "";
    }
});

// reset input when pressing esc
document.body.addEventListener('keyup',function(ev){
    if(ev.keyCode == 27) input = "";
});

デモ:

http://jsfiddle.net/9GC4N/

于 2013-08-11T10:06:07.167 に答える
1

改善:

var seq = "rainbow"
var input = ""
window.addEventListener("keypress", function(e) {
    input += String.fromCharCode(e.keyCode)

    for (var i = 0; i < seq.length; i++) {
        if (input[i] != seq[i] && input[i] != undefined) {
            input = ""
        }
    }

    if (input == seq) {
        alert("EASTER EGG!")

        input = ""
    }
})
于 2013-12-07T13:04:18.387 に答える