如何在 IE、Firefox 和 Chrome 中检测转义键按下?
下面的代码在 IE 中工作并发出警报 27 ,但在 Firefox 中它发出警报 0

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

最佳答案

注意: keyCodebecoming deprecated ,使用 key 代替。

function keyPress (e) {
    if(e.key === "Escape") {
        // write your logic here.
    }
}
代码片段:

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

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

keyCode 已被弃用

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

关于javascript - 如何使用纯 JS 或 jQuery 检测转义键按下?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3369593/

10-13 00:23