我在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>