我正在寻找一种方法将按键转换为与字符对应的字符串。例如:将KeyDown keycode转换为字符串(jQuery)
$(document).keydown(function(event) {
console.log(String.fromCharCode(event.which));
});
除了这段代码没有考虑大小写,并且不适用于特殊字符,例如, “”。这:
$(document).keypress(function(event) {
console.log(String.fromCharCode(event.which));
});
似乎的伎俩,但它不能阻止默认浏览器的操作(如反悔退格键),而且似乎是浏览器的兼容问题。
有没有更好的方法,适用于浏览器和键盘布局?
Downvoted是什么原因?答案是正确的:'event.which'在'keydown'事件中为'@'和'2'保持相同的值,而'keypress'事件为'@'返回正确的charCode。 –
也许是因为你没有回答实际的问题,这是如何防止默认的浏览器操作。你可能是对的,但它仍然没有回答这个问题。我建议您将其扩展为包含默认操作的解决方案。 –
@FelixKling我不同意这是主要问题。 –