为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用jQuery单击事件期间检查是否按下了键?

如何使用jQuery单击事件期间检查是否按下了键?

撒科打诨 2019-12-27 09:22:28
我想用jQuery捕获click事件,并能够判断是否同时按下了一个键,因此我可以基于keypress事件在回调函数中派生。例如:$("button").click(function() {    if([KEYPRESSED WHILE CLICKED]) {        // Do something...    } else {        // Do something different...    }});这是完全可能的,或者如果可能的话怎么办?
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

您可以从事件属性中轻松检测出shift键,alt键和控制键。


$("button").click(function(evt) {

  if (evt.ctrlKey)

    alert('Ctrl down');

  if (evt.altKey)

    alert('Alt down');

  // ...

});

有关更多属性,请参见quirksmode。

查看完整回答
反对 回复 2019-12-27
?
阿晨1998

TA贡献2037条经验 获得超6个赞

您需要使用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

  }

});


查看完整回答
反对 回复 2019-12-27
?
万千封印

TA贡献1891条经验 获得超3个赞

我可以单独使用它


 <a  href="" onclick="return Show(event)"></a>


  function Show(event) {

            if (event.ctrlKey) { 

                 alert('Ctrl down');

            }

     }


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 695 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信