/ / JavaScriptまたはjQueryのイベントハンドラ、「Ctrl」/「Shift」+マウスの左ボタンクリック - JavaScript、jquery、イベント

"Ctrl" / "Shift" +マウスの左ボタンクリックのJavaScriptまたはjQueryイベントハンドラ - javascript、jquery、events

次のようなイベントを処理することは可能ですか?

  • Ctrl +マウスの左ボタンクリック
  • シフト +マウスの左ボタンクリック
  • Alt +マウスの左ボタンクリック を使って JavaScript, jQuery または他のフレームワーク。

可能であれば、そのためのコード例を教えてください。

回答:

回答№1の112

あなたはこのようなことをすることができます(クリックハンドラのためのjQuery、しかしどんなフレームワークも重要な部分に働きます):

$(selector).click(function(e) {
if(e.shiftKey) {
//Shift-Click
}
if(e.ctrlKey) {
//Ctrl+Click
}
if(e.altKey) {
//Alt+Click
}
});

どちらにしても構いません。 if 私が上に持っているようにクリックハンドラの中に。


回答№2については9

JQueryプラグインを使った場合 ホットキー あなたは以下の特別なキーを扱うことができます。

$(document).bind("keydown", "Ctrl+c", fn);

答え№3のための7

つい最近では、使用に問題がありました e.ctrlKey その点では、MACでは機能しません。 Macintoshでは、Command +クリックを使用しても同じ効果が得られます。

上記の答えのほとんどはすでにjQueryの使用を想定しているので、単純に e.metaKey jQueryによって利用可能になるプロパティ。

例えば

$(selector).click(function(e) {
if(e.shiftKey) {
//Shift-Click
}
if(e.metaKey) {
//Ctrl+Click on Windows & Command+Click on Mac.
}
if(e.altKey) {
//Alt+Click
}
});