Javascript 向下键keycode未返回预期的字符串值
我在应用程序中使用了Javascript 向下键keycode未返回预期的字符串值,javascript,jquery,key-events,Javascript,Jquery,Key Events,我在应用程序中使用了iframe。当我按下键盘上的任意键时,我返回字符串值 除键219、220、221外,所有其他键都返回预期的字符串值 这些键返回这些值 但是我需要这些字符串值 如何从这些键中获取正确的字符?keydown和keydup根据您的输入键盘类型(不同区域的不同键盘等),使用不同键盘的键盘代码 对于可打印字符,您需要等待浏览器发出keypress,这将为您提供字符键的翻译值(如果有),它将在charCode中为您提供该值(尽管我偏执地倾向于执行e.charCode | e.which
iframe
。当我按下键盘上的任意键时,我返回字符串值
除键219、220、221
外,所有其他键都返回预期的字符串值
这些键返回这些值
但是我需要这些字符串值
如何从这些键中获取正确的字符?
keydown
和keydup
根据您的输入键盘类型(不同区域的不同键盘等),使用不同键盘的键盘代码
对于可打印字符,您需要等待浏览器发出keypress
,这将为您提供字符键的翻译值(如果有),它将在charCode
中为您提供该值(尽管我偏执地倾向于执行e.charCode | e.which
,可能这很愚蠢)。例如,我的键盘上有一个键,按照我的配置方式,在*nix下,是用于keydown
/keydup
的keycode220,并生成字符
。但在运行Windows的虚拟机中,使用不同的键盘布局,同一个键是keycode 220,用于keydown
/keydup
,但会生成字符#
例如:
函数处理程序(e){
var msg=“已接收”+e.type;
如果(例如,键入==“按键”){
//按键
msg+=“'”+String.fromCharCode(e.charCode | | e.which)+“'”;
}否则{
//键控向下/键控向上
msg++=“”+(e.which | e.keyCode);
}
控制台日志(msg);
}
文档。addEventListener(“键控”,处理程序,false);
文件。addEventListener(“keyup”,handler,false);
文件。添加的文本列表器(“按键”,处理程序,错误)代码>
单击此处聚焦文档,然后按键。
您能为您的问题分享一把小提琴吗。它不应该是91
、93
和92
?@sameer他说的部分正确。你不需要小提琴,这都是经验~25年