javascript - keyCode 只是给出...错误的响应

标签 javascript html

我不确定为什么会发生这种情况。类似的事情也发生过,但通常是由于键盘记录程序或类似的原因造成的。

我的 JavaScript 只是出问题了,或者其他什么。

当我使用this时链接并按 W,我得到 87 作为响应。

但是,当我运行自己的代码时,它看起来就像这样:

var keydown = function(e) {
    console.log(e.keyCode); //I've also tried charCode
}

window.addEventListener("keypress", keydown, false);

当我按 W 时,我得到号码 119。

Chrome 和 IE 中都会发生这种情况。

什么给出了?

最佳答案

实际上,keyupkeydown用于识别物理按键,keypress(冗余)用于识别键入的字符,因此使用keypress 事件,W/capital(87) 和 w/lower(119) 给出不同的结果,但 keydown 总是给你 87。因此,正如其他答案所述,您应该使用 keydown

了解更多关于 quirksmode.org .

Therefore, onkeydown/up keyCode always holds the key code. onkeypress you can find the actual character the user typed by evt.charCode || evt.keyCode.

关于javascript - keyCode 只是给出...错误的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19284846/

相关文章:

html - 在 flexbox 中垂直和水平居中图像

html - css 页脚图像不会显示

javascript - 属性为空时如何使用if语句

javascript - JSDoc注释链接方法

javascript - 无法在 D3 中显示单个栏

javascript - 捕获正在执行的 javascript 代码的工具

javascript - 如何设计点击面板如下链接和图片

javascript - 如何改变这个iframe内容?

java - 哪个文件会告诉我 doxygen 中的映射

javascript - 想要在单一织物文本框中添加多种字体,不想添加新的文本框