如何使用 Keydown 事件在多种语言/键盘布局中获取正确的字符



我在jquery中使用keydown事件,但问题是它对输入语言是无状态的。无法确定输入是英语还是希伯来语或阿拉伯语...?它只返回键码,我无法获取字符。

有什么解决办法吗??

若要确定实际字符,应使用 keypress 事件而不是 keydown 。虽然keydown为您提供了密钥代码,但keypress表示用户输入的字符。

另一个区别是,当用户按住某个键时,keydown事件仅触发一次,但会为每个插入的字符触发单独的keypress事件。

下面是使用 keypress 事件的示例:

<body>
<form>
  <input id="target" type="text" />
</form>
<script src="http://api.jquery.com/scripts/events.js"></script>
<script>
  $("#target").keypress(function(event) {
    var charCode = event.which; // charCode will contain the code of the character inputted
    var theChar = String.fromCharCode(charCode); // theChar will contain the actual character
  });
</script>
</body>

最新更新