如何在javascript弹出窗口中处理ESC keydown

And*_*ott 46 javascript jquery popup

我有一个javascript window.open弹出窗口,我希望当用户按下ESC键时弹出窗口自动关闭.我无法弄清楚如何挂钩keydown事件(和什么对象?),以便我可以捕获ESC键.

我正在使用jQuery.

Gum*_*mbo 103

尝试这样的事情:

$(document).keydown(function(e) {
    // ESCAPE key pressed
    if (e.keyCode == 27) {
        window.close();
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 谢谢Gumbo这个.它出现在谷歌的第一件事:) (3认同)

小智 50

使用JS可以实现不使用jQuery.

window.onkeydown = function( event ) {
    if ( event.keyCode == 27 ) {
        console.log( 'escape pressed' );
    }
};
Run Code Online (Sandbox Code Playgroud)

  • 我理解这是因为问题需要jQuery,但对于那些寻找纯JavaScript的人来说,这个答案非常有用.所以我向我投了一票. (8认同)
  • 请记住,jQuery不会删除使用常规JS的能力. (5认同)

Gib*_*olt 7

event.key ===“转​​义”

没有更多的任意数字代码!

document.addEventListener('keydown', function(event) {
    const key = event.key; // const {key} = event; in ES6+
    if (key === "Escape") {
        window.close();
    }
});
Run Code Online (Sandbox Code Playgroud)

Mozilla文件

支持的浏览器