1. ホーム
  2. javascript

[解決済み] クリックイベントで Ctrl / Shift / Alt キーをチェックする

2023-06-27 18:15:34

質問

どのようにすれば どの Ctrl / シフト / Alt は、以下のコードで押されるキーですか?

$("#my_id").click(function() {
    if (<left control key is pressed>) { alert("Left Ctrl"); }
    if (<right shift and left alt keys are pressed>) { alert("Right Shift + Left Alt"); }
});

どのように解決するのですか?

IE 8 だけで、すべてのブラウザーで動作するわけではありません。Microsoft は、どの (右/左) キーが押されたかを判断する機能を実装しています。 以下はそのリンクです。 http://msdn.microsoft.com/en-us/library/ms534630(VS.85).aspx

ブラウザのキープレス、キーアップ、キーダウンのイベントについては、こんな不思議な記事もありました。 http://unixpapa.com/js/key.html

$('#someelement').bind('click', function(event){ 

    if(event.ctrlKey) {
      if (event.ctrlLeft) {
        console.log('ctrl-left'); 
      }
      else {
        console.log('ctrl-right');
      }
    }
    if(event.altKey) {
      if (event.altLeft) {
        console.log('alt-left'); 
      }
      else {
        console.log('alt-right');
      }
    }
    if(event.shiftKey) {
      if (event.shiftLeft) {
        console.log('shift-left'); 
      }
      else
      {
        console.log('shift-right');
      }
    }
  });