5

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

有什么解决办法吗??

4

1 回答 1

7

要确定实际字符,您应该使用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>
于 2012-04-13T21:52:04.390 回答