2016-05-24 4 views
0

JavaScriptからエスケープキーが押されたかどうかをチェックしたいと思います。私はMozillaの上に行ったときしかし、それは.keyCode 'の代わりに「.KEY」使用を推奨されていると言う特定のキーがキーボードでリリースされたかどうかを確認するにはどうすればよいですか?

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.keyCode); 
}); 

:彼らは道私が見てきた

はこれです。私はどちらが、私はこれにコードを変更する場合:

document.addEventListener('keyup', function(event) { 
    //returns a number for key 
    console.log(event.key); 
}); 

それはそれは未定義 "コンソールの中で述べて動作しないでしょう。なぜどんなアイデア?

また、初心者ではわかりにくいので、Mozillaは最適な場所です。ありがとう

+1

の可能性のある重複した[文字キーが押されたかを調べるには?](http://stackoverflow.com/questions/1846599/how-to -find-out-what-c​​haracter-key-pressed) –

+0

私は常に.keyCodeを使用しています。イベントオブジェクトには.keyプロパティがありません。そのため、コンソールには未定義のログが記録されています。 – IrkenInvader

+0

@IrkenInvader申し訳ありません私は初心者です鍵のプロパティを持っていないことはどういう意味ですか?ありがとうございました –

答えて

0

documentにリスナーを追加するときは、それをwindowに追加する必要があります。例:

window.addEventListener('keyup', function(ev) { 
    console.log(ev.key); 
}); 
+0

ありがとうございます。私はそれを試してまだ未定義になる –

0

イベントリスナーをウィンドウに添付する必要があります。これはブラウザによって異なるかもしれませんが、それは私のために働いた。

window.addEventListener("keyup", function (event) { 
 
    
 
     if(event.key === "Escape"){ 
 
     console.log("Escape was released."); 
 
     } 
 
    
 
     // Consume the event for suppressing "double action". 
 
     event.preventDefault(); 
 
    }, true);

Try it on CodePen!

関連する問題