【问题标题】:Keyboard sequence to click on button单击按钮的键盘顺序
【发布时间】:2015-03-13 01:21:33
【问题描述】:

我希望系统管理员能够轻松地在应用程序中创建新帐户。我在想 alt 和 shift 键会在我的应用程序中触发“创建新用户”按钮或 defaultButton2。我可以得到一个键来工作,但组合这两个键似乎不起作用。

$(document).ready(function () {
  $("input").bind("keydown", function (event) {
    var keycode = (event.keyCode ? event.keyCode : 
          (event.which ? event.which : event.charCode));
    if (keycode == 16 && keycode == 18) {
        document.getElementById('defaultButton2').click();
        return false;
    } else {
        return true;
    }
  });
});

【问题讨论】:

  • 因为keycode 只接受一个值。所以它不能同时是1618

标签: javascript jquery dom jquery-events


【解决方案1】:

keydown 事件 (mdn) 具有用于检测何时按下按钮组合的 shiftkey、altkey 和 control 键的布尔值。因此,您可以检查这些。 keyCode 仅适用于最后按下的键。

如果您想检测其他键,例如如果同时按下“a”和“s”,您需要处理自定义 keydown 和 keyup 事件并自己跟踪。

$('body').on( 'keydown', function(e) {
  if( e.altKey && e.shiftKey ) {
    console.log( "Both pressed!" );
  }
} );
body {
  background-color: #DDDDDD;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Click Here

【讨论】:

    【解决方案2】:

    你几乎做对了......

    $(document).ready(function(){
      $("input").keydown(function(e) {
        // 18 is the key for alt
        if(e.keyCode == 18 && e.shiftKey) {
            $("button").click();
        }
      });
    });
    

    这是一个有效的JSFiddle,如果您正在寻找 JS 键码,请查看here

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 2015-09-13
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2020-06-19
      • 2012-04-20
      • 2012-03-17
      • 2011-09-15
      相关资源
      最近更新 更多