ユーザーがパーセント キーまたは 5 の数字を押したかどうかを確認する方法はありますか? FireFox にも同じキーコードがあります。
4 に答える
イベント オブジェクトによって提供される修飾キーを確認できます。event.shiftKey
あなたの特定のユースケースのためのものです。さらにevent.altKey
、イベントのプロパティ (Windows の Windows キーと MAC キーボードのコマンド キー) がありますevent.ctrlKey
。event.metaKey
コード例では、keyCode ハンドラー内でチェックを実行する必要があります。
var NUMBER_FIVE = 53;
element.onkeydown = function (event) {
if (event.keyCode == NUMBER_FIVE) {
if (event.shiftKey) {
// '%' handler
} else {
// '5' handler
}
}
};
また、使用するときevent.keyCode
は、ユーザーがキーボードで押したものを処理しています。特定の ASCII 文字をチェックしたい場合は、代わりに使用できますevent.charCode
。このイベント プロパティは、ユーザーがキーボードで何を押しているかではなく、ユーザーが入力している文字を示すためです。これについての完全なガイドは、quirksmode にあります。
を使用する場合keydown
、5 と % は同じ keyCode です。イベント オブジェクトにはshiftKey
、ユーザーが Shift キーを押しているかどうかを示す boolean プロパティもあります。
document.onkeydown = function (e) {
if (e.keyCode === 53) {
if (e.shiftKey) {
// they pressed %
} else {
// they pressed 5
}
}
};
を使用する場合keypress
、それらは 2 つの異なる keyCode です。
document.onkeypress = function (e) {
if (e.keyCode === 53) {
// they pressed 5
}
if (e.keyCode === 37) {
// they pressed %
}
};
このサイトは、keyCodes のテストに適しています。
shiftKey 値の確認: jsfiddle
$(document).keydown(function(e){
if( e.keyCode == 53 ){
if(e.shiftKey){
// % pressed
}
else{
// 5 pressed
}
}
});