2016-07-20 6 views
1

キーボードからどのキーをどのようにクリックするかを尋ねるときは、私はテストされているokは英語の場合に動作しています。 言語を変更してキーボードの記号が変更された場合は、何も表示されません。JQueryを使用してどのシンボルがクリックされたかを気にせずにキー押下コードを取得

私の質問は、キー「G」または「Г」などをクリックしたときに、どの言語がユーザーに使用されているかに関わらず、キープレスコードを取得する方法です。英語であれば、ここで

は私の簡単なjqueryのコード

$(document).keypress(function(e) { 
    if (e.charCode == 103) { 
     alert('g'); 
    } else if (e.charCode == 71) { 
     alert('G'); 
    } 
}); 

である私は、働いていないブルガリア語に変更されたときに、取り組んでいます。どのようにすべての言語で作業することができますか?

答えて

0

私の問題の解決策が見つかりました。ありがとうございますarticle

$(document).on('keydown', function(e) {  
    if (e.ctrlKey) { 
     alert('Echo'); 
    } else { 
     alert(e.which + ' ' + e.key); 
    } 
}); 

私が変更していること。私はイベントだけを変更します。私は 'keypress'を 'keydown'に置き換えましたが、現在はどの言語が使われているかに関わらず同じコードです。

0

keypressイベントを使用すると、キーボードのレイアウトに関係なく、文字が入力されます。 文字入力の場合は、押された文字の実際のASCIIコードを報告するkeypress()を使用することをお勧めします。それは自動的に大文字小文字を扱い、非文字プレスを無視します。どちらの場合でも、fromCharCode()を使用して文字列表現に変換できます。例えば。

document.onkeypress = function(evt) { 
    evt = evt || window.event; 
    var charCode = evt.which || evt.keyCode; 
    var charTyped = String.fromCharCode(charCode); 
    alert("Character typed: " + charTyped); 
}; 
+0

異なる言語で同じコードを取得できますか?たとえば、ユーザは 'g'を入力します。これはキーボードの場合、平均ID = 176です。また、ユーザーが 'g'を入力してからもう一度id = 176を入力した場合や、不可能でキーボードがASCIIコード – evelikov92

+0

を使用している場合は、言語に関係なくすべてのキーを押すと同じキーが得られる可能性があります。 –

+0

どうすれば作れますか?今すぐあなたが投稿したこのコード誰が私は別の言語で同じキーを違うコードを得る? – evelikov92

関連する問題