jQuery的哪个转义键的键代码

JavaScript

Stafan理查德

2020-03-12

我有两个功能。当按下回车键时,功能正常运行,但是当按下退出键时,功能无法正常运行。退出键的正确数字是多少?

$(document).keypress(function(e) { 
    if (e.which == 13) $('.save').click();   // enter (works as expected)
    if (e.which == 27) $('.cancel').click(); // esc   (does not work)
});

第1023篇《jQuery的哪个转义键的键代码》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

6个回答
猴子西门 2020.03.12

我知道这个问题是关于jquery的,但是对于那些使用jqueryui的人来说,许多键码都有常量:

$.ui.keyCode.ESCAPE

http://api.jqueryui.com/jQuery.ui.keyCode/

米亚猴子 2020.03.12

要获取所有字符的十六进制代码:http : //asciitable.com/

逆天 2020.03.12

我一直使用keyup和e。哪个可以捕获转义密钥。

斯丁阳光 2020.03.12

解释没有其他答案的地方;问题是您使用keypress

也许事件只是被错误命名,但keypress被定义为在时触发即文字。 而您想要的是/ ,它会在任何时候(分别在之前或之后)触发即键盘上的那些东西。when an actualcharacteris being inserted
keydownkeyupthe user depresses akey

之所以出现差异,esc因为它是控制字符(字面上是“非打印字符”),因此不会写任何文本,因此甚至不会触发keypress
enter很奇怪,因为即使您将其用作控制字符(即,用于控制UI),它仍在插入换行字符,这将触发keypress

资料来源:quirksmode

猪猪卡卡西西里 2020.03.12

27是转义键的代码。:)

null 2020.03.12

要查找任何键的键码,请使用以下简单功能:

document.onkeydown = function(evt) {
    console.log(evt.keyCode);
}

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android