OSによるキーコードの違い
keydownイベントのイベントハンドラ内でkeyCodeの値を取得し、どのキーが押されたかを判定するが、アットマーク(@)はWindowsとMacでキーコードが異なるので注意が必要。
- Windows:192
- Mac:219
サンプル
// 「Ctrl/command + @」が押されたら処理を実行する
document.addEventListener('keydown', (event) => {
if ((event.ctrlKey || event.metaKey) && [192,219].indexOf(event.keyCode) >= 0) {
console.log('「Ctrl/command + @」が押されました。');
}
});