2016-11-14 1 views
0

私の目標は、シフトキーを押したときにのみボタンを押してアクションを実行することです。しかし、今はシフトキーを認識していないようです。現在のところ、右クリックだけで動作しますが、私が言ったように、右クリック+シフトで動作させたいと思っています。jQueryを使わずに左クリックでシフトを使用する

button.addEventListener("oncontextmenu", function(e) { 
    document.addEventListener("keydown", function(e) { 
    console.log("this string won't show"); 
    if (e.keyCode == 16) { 
     console.log("this string won't show either"); 
    } else { 
     console.log(e.keyCode); // again it won't show 
    } 
    }); 
    rightShiftClick(e); // this will execute perfectly. 
}); 
+1

なぜイベントの内部にイベントをバインドしていますか? 'oncontextmenu'が間違っていて、' on'を持ってはいけません – epascarello

+0

私は右クリック+シフト作業を望んでバインドしていました。 "oncontextmenu"はどうやって間違っていますか?右クリックイベントを聴きます。私はあなたが見たい関連するHTMLコードが何であるか分かりません。それは大きなファイルです。 – qaispak

+1

シフトキーはイベントオブジェクト内にあります。 console.log(e)、イベントには "on"がありません。keydownを見てください – epascarello

答えて

1

イベントオブジェクトは、シフトキーが押されたかどうかを示し、イベントをアタッチしているときには「オン」にはなりません。

button.addEventListener("contextmenu", function(e) { 
    console.log(e.shiftKey); 
}); 
+0

すごいです。ありがとうございました! – qaispak

関連する問題