将KeyDown键码转换为字符串(jQuery)

Maa*_*ten 0 javascript jquery

我正在寻找一种方法将按键转换为对应于字符的字符串.像这样的东西:

$(document).keydown(function(event) {
    console.log(String.fromCharCode(event.which));
});
Run Code Online (Sandbox Code Playgroud)

除了这段代码没有考虑大小写并且不适用于特殊字符,例如",".这个:

$(document).keypress(function(event) {
    console.log(String.fromCharCode(event.which));
});
Run Code Online (Sandbox Code Playgroud)

似乎是诀窍,但它无法阻止默认的浏览器操作(例如返回退格)并且似乎存在浏览器兼容问题.

有没有更好的方法,适用于浏览器和键盘布局?

Rob*_*b W 5

event.which在以下事件类型中可靠地从属性中获取字符是不可能的keypress.

如果您对该声明提出质疑,请使用此页面上的演示 .该event.which属性只能在一个正确的翻译keypress活动.

如果要忽略大写,请使用该.toLowerCase()方法.