5

jqueryでkeydownイベントを使用していますが、入力言語ではステートレスであるという問題があります。入力が英語かヘブライ語かアラビア語かを判断できません...?キーコードのみを返し、文字を取得できません。

解決策はありますか?

4

1 に答える 1

7

実際の文字を判別するには、の代わりにkeypressイベントを使用する必要がありkeydownます。keydownキーコードを提供しますが、keypressユーザーが入力した文字を示します。

もう1つの違いは、ユーザーがキーを押したままにすると、keydownイベントが1回だけ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 に答える