我在网上找到了一个代码,它可以帮助我使用 ESC 按钮关闭弹出对话框。代码如下:
<script type="text/javascript">
function ESCclose(evt) {
if (evt.keyCode == 27)
window.close();
}
</script>
按键
<body onkeypress="ESCclose(event)">
我尝试在表单标签中使用 onkeypress。它不起作用,因为我无法使用 ESC 按钮关闭对话框。有帮助吗?
最佳答案
问题是因为 keypress
事件不会针对不可打印的字符(例如退格键或转义符)触发。
要解决此问题,您可以改用keydown
:
function ESCclose(evt) {
if (evt.keyCode == 27) {
//window.close();
console.log('close the window...')
}
}
<body onkeydown="ESCclose(event)"></body>
当您使用 jQuery 标记问题时,您可以使用它来更好地分离 HTML 和 JS 代码:
$(document).on('keydown', function(e) {
if (e.keyCode == 27)
window.close();
});
请注意,上述代码的body
元素上不需要on*
事件属性。
关于javascript - ESC 键关闭弹出窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43249379/