我怎样才能检查是否点击事件与jQuery的按键?

我想用jquery捕捉一个单击事件,并能够判断是否同时按了一个键,这样我就可以在基于keypress事件的callback函数中进行分支了。

例如:

$("button").click(function() { if([KEYPRESSED WHILE CLICKED]) { // do something... } else { // do something different... } }); 

有没有人知道这是可能的,或者如果可能的话可以怎么做?

您可以轻松检测事件属性中的shift,alt和控制键;

 $("button").click(function(evt) { if (evt.ctrlKey) alert('Ctrl down'); if (evt.altKey) alert('Alt down'); // ... }); 

有关更多属性,请参阅quirksmode 。 如果你想检测其他键,请参阅cletus的答案 。

您需要使用keydown()keyup()来分别跟踪关键状态:

 var ctrlPressed = false; $(window).keydown(function(evt) { if (evt.which == 17) { // ctrl ctrlPressed = true; } }).keyup(function(evt) { if (evt.which == 17) { // ctrl ctrlPressed = false; } }); 

查看关键代码列表 。 现在你可以检查:

 $("button").click(function() { if (ctrlPressed) { // do something } else { // do something else } }); 

我能够单独使用JavaScript

  <a href="" onclick="return Show(event)"></a> function Show(event) { if (event.ctrlKey) { alert('Ctrl down'); } }