jQueryがevent.which、event.keyCodeイベントで返すものを把握しようとしていました。私がタブキーを使用するとき、ぼかしイベント中に。それは9を返すことになっていないのですか?私もkeypressで試しましたが、それを認識しません。JavaScript:jQuery Tab charCode
私が何か間違ったことをやっていますか?
jQueryがevent.which、event.keyCodeイベントで返すものを把握しようとしていました。私がタブキーを使用するとき、ぼかしイベント中に。それは9を返すことになっていないのですか?私もkeypressで試しましたが、それを認識しません。JavaScript:jQuery Tab charCode
私が何か間違ったことをやっていますか?
を使用してタブキーを取得する必要があります。 keypress
はすべてのブラウザでTABを起動せず、blur
は何が原因でオブジェクトにフォーカスが失われたのかを知らせません。
$("#test").keydown(function(e){
console.log("keydown: ",e); //-> jQuery.Event > which: 9
});
あなたはタブキーを認識するまたはkeyup
を使用する必要があります:あなたのように、 "9" を記録します
$("#test").keydown(function(e){
console.log(e.keyCode);
});
期待される。この理由は、keypress
は文字キーのみで発生するのに対し、はすべてのキー(TAB、矢印キーなど)に対して起動します。
'keyup'は、タブイングの結果としてフォーカスを取得するフィールドでは発生するが、タブアウトの結果としてフォーカスを失うフィールドでは発生しないので、' keyup'は混乱する可能性があります。 –
はい、そうです。だから私はこの例で 'keydown'を使ったのです。私はちょうど完全であるために 'keyup'を言いました、それは非文字キーにも反応するからです。 –
すべての良いアドバイスがありますが、いくつかのブラウザのタブキー(Firefoxなど)。 –