JavaScriptで@(アットマーク)キーが押されたら処理を実行させる

スポンサーリンク

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 + @」が押されました。');
  }
});

コメント