javascript – js:如何在按键上获得LOCALIZED字符?

我需要在按键事件上获得本地化字符.例如:在捷克键盘上我需要得到不是5个字符(键码53)(见 Czech keyboard layout).有没有其他方法来获得角色,不使用文本输入和阅读价值?换句话说,有什么方法可以从事件对象中获取关于当前用户键盘布局的字符?

(添加示例代码)

<html>
<body>
<script language="JavaScript">
function onLoad() {
    console.log(document.getElementById("test"));
    document.getElementById("test").onkeydown = function(event) {
                console.log("Code: "+event.keyCode+"; Key: "+String.fromCharCode(event.keyCode));
        }
}
</script>
<body onLoad="onLoad();">
    <input id="test">
</body>
</html>

(例online)

当您尝试此代码并按下ř-key时,您将在Firebug控制台中看到“代码:53;密钥:5”.我需要得到“ř”而不是“5”.

我认为这个“问题”出现在所有非英语键盘上.

解决方法

无论键盘布局如何,使用按键事件都可以为您输入字符.
document.onkeypress = function(evt) {
    evt = evt || window.event;
    var charCode = evt.which || evt.keyCode;
    var charTyped = String.fromCharCode(charCode);
    alert("Character typed: " + charTyped);
};

这是我通常链接到Jan Wolter的优秀页面,记录了JavaScript密钥处理:http://unixpapa.com/js/key.html

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...