jqueryでkeydownイベントを使用しますが、入力言語にはステートレスな問題があります。インプットが英語またはヘブライ語かアラビア語であると判断できません...? キーコードだけを返し、文字を取得できません。のkeydownイベントで別の言語のcharecterを取得する
解決策はありますか?
jqueryでkeydownイベントを使用しますが、入力言語にはステートレスな問題があります。インプットが英語またはヘブライ語かアラビア語であると判断できません...? キーコードだけを返し、文字を取得できません。のkeydownイベントで別の言語のcharecterを取得する
解決策はありますか?
実際の文字を確認するには、の代わりにkeypressイベントを使用する必要があります。はキーコードを提供しますが、keypress
はユーザーが入力した文字を示します。
ユーザーがキーを押して保持すると、イベントが1回だけトリガーされますが、挿入された文字ごとに別々のイベントがトリガーされます。ここで
は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>
これは私のために働いた。キーボードレイアウトを変更した後、ノルウェー文字とアラビア文字の両方を取得しました(ページにとどまっていて、間にリロードはありません)。 [こちらはjsFiddleです](http://jsfiddle.net/wvywU/) –
(https://github.com/dansingerman/jQuery-Browser-Language)[ブラウザの言語設定を決定する]にjQueryのプラグインがあります。 [this](http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference)SOスレッドを参照してください。次に、あなたはそれぞれの言語で必要な文字のキーボードコードを知ることができます。 –
私はプラグインが問題を解決しないと思います。ユーザは入力中に言語を変更することができる。だから、私はユーザーによって正しい文字入力を取得することはできません。 – assaqqaf