如何在按键上获取本地化字符? [英] How to get LOCALIZED character on keypress?
问题描述
我需要在keypress
事件上获取本地化字符.例如:在捷克语键盘上,我需要获得5个字符(键码为53)(请参见
I need to get localized character on keypress
event. For example: on a Czech keyboard I need to get ř not 5 character (key code 53) (see Czech keyboard layout). Is there any other way to get character and to not use text input and reading value? By other words is there any way how to get character from event object respecting current user 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>
(示例尝试此代码并按ř键时,您将在Firebug控制台中看到代码:53;键:5".而且我需要得到ř"而不是"5".
When you try this code, and you press ř-key you will see in Firebug console "Code: 53; Key: 5". And I need to get "ř" not "5".
我认为这个问题"出现在所有非英语键盘上.
I think that this "problem" appears on all non-English keyboards.
推荐答案
使用keypress
事件将使您键入字符,而与键盘布局无关.
Using the keypress
event will give you the character typed, regardless of keyboard layout.
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
Here's my usual link to Jan Wolter's excellent page documenting JavaScript key handling: http://unixpapa.com/js/key.html
这篇关于如何在按键上获取本地化字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!