エスケープキーの押下を検出するにはどうすればいいですか? 質問する

エスケープキーの押下を検出するにはどうすればいいですか? 質問する

IE、Firefox、Chromeでエスケープキーの押下を検出するにはどうすればいいですか?以下のコードはIEでは機能し警告を発します27が、Firefoxでは警告を発します。0

$('body').keypress(function(e){
    alert(e.which);
    if(e.which == 27){
        // Close my modal window
    }
});

ベストアンサー1

keyCode:廃止される代わりにを使用してくださいkey

function keyPress (e) {
    if(e.key === "Escape") {
        // write your logic here.
    }
}

コードスニペット:

var msg = document.getElementById('state-msg');

document.body.addEventListener('keydown', function(e) {
  if (e.key == "Escape") {
    msg.textContent += 'Escape pressed:'
  }
});
Press ESC key <span id="state-msg"></span>


keyCodeそしてキーを押すは非推奨です。

どうやら機能しているkeydownようですkeyup


$(document).keyup(function(e) {
     if (e.key === "Escape") { // escape key maps to keycode `27`
        // <DO YOUR WORK HERE>
    }
});

jQuery でエスケープ キーに使用するキーコード

おすすめ記事