我怎样才能检查是否点击事件与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'); } }