JavaScript keyCode -使用外来键盘布局单击了哪个键

ndasle7k  于 2023-01-07  发布在  Java
关注(0)|答案(2)|浏览(102)

找不到一个解决这个在我看来很简单的问题的方法。
我使用var a = evt.keyCode;来确定单击了哪个键。
问题是,我得到的值是被单击键的ASCII码,而不是被单击的真实的字符。
例如,如果一个用户使用的是法语键盘,点击7键是é,那么我得到的不是é的ASCII码,而是7的ASCII码55。

ryevplcw

ryevplcw1#

您使用的是onkeypress还是onkeydown事件?您应该使用前者onkeypress来确定所按键的字符代码是否正确。在事件处理程序中,检查event.whichevent.keyCode属性:

function whichKey(evt) {
    alert(String.fromCharCode(evt.which || evt.keyCode));
}

工作演示:http://jsfiddle.net/7LsMk/

ep6jt1vc

ep6jt1vc2#

试试这个:var unicode=evt.charCode? evt.charCode : evt.keyCode; var actualkey=String.fromCharCode(unicode);

相关问题