我在 jquery 中使用 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>