【问题标题】:Click event on the keyboard: up, down, left, right键盘点击事件:上、下、左、右
【发布时间】:2014-05-20 05:21:58
【问题描述】:

我需要一个可以单击右、上、下或左的事件。我希望当满足条件时(如果)他点击我选择的按钮,下面是一个应该适合的示例:

if (gesture.left) { The click event in the left direction button keypad } Else if (gesture.right) { Click the event in the right direction button keypad }

不想检测按下了哪个键,只有一个条件是在他单击我想要的按钮后。

【问题讨论】:

  • 您要发送keyboard event 吗?在哪个元素上?
  • 我想运行方向按钮(上、下、左或右)以便接受条件(如果)。例子:if (1 == 1) {事件选择键盘上的向下键,从而使页面向下},举了一个弩的例子,但是你知道吗?
  • 啊..这种问题只是为了测试读者是否真的在关注吗?...哈哈..好的...所以答案是否定的,没有点击事件用键盘。
  • @AdrianSalazar——将焦点放在一个按钮上并按下回车键,您将获得一个按键触发的点击事件。
  • @RobG 你没读过上、左、下、右、右的部分吗?

标签: javascript html events keyboard-events


【解决方案1】:

方向键仅由onkeydown触发,onkeypress不触发

键码是:

  • 左 = 37
  • 向上 = 38
  • 右 = 39
  • 向下 = 40

http://jsfiddle.net/ahmadhasankhan/qqqpf/2/

【讨论】:

  • 请举例说明我是如何做到的。谢谢
  • 如果您尝试检测按下了哪个键,请尝试MDN: event.keyCodeMDN: event.which(还有MSDN: event.keyCode,但MDN 可能更有帮助)。
  • 我想运行方向按钮(上、下、左或右)以便接受条件(如果)。例子:if (1 == 1) {事件选择键盘上的向下键,从而使页面向下},举了一个弩的例子,但是你知道吗?
【解决方案2】:

试试这个代码:

$(function(){
    $('html').keydown(function(e){
        if(e.keyCode == 37) { // left
          }
          else if(e.keyCode == 39) { // right
          }
        else if(e.keyCode == 38) { // up
          }
        else if(e.keyCode == 40) { // down
          }
    });
});

Demo

您也可以使用which 代替keyCode,如下所示:

$(function(){
        $('html').keydown(function(e){
            if(e.which== 37) { // left
              }
              else if(e.which == 39) { // right
              }
            else if(e.which == 38) { // up
              }
            else if(e.which == 40) { // down
              }
        });
    });

【讨论】:

  • 我想运行方向按钮(上、下、左或右)以便接受条件(如果)。例子:if (1 == 1) {事件选择键盘上的向下键,从而使页面向下},举个弩的例子,但是你知道吗?
  • 用未在问题中标记的库回答是错误的形式。至少告诉 OP 库是什么(有很多使用 $ 作为函数名)。
【解决方案3】:
<form>
 <input id="target" type="text" value="Hello there">
</form>

<script>
  $("#target").keydown(function(e){
   if (e.keyCode == 37) { 
     alert( "left pressed" );
     return false;
   }else  if (e.keyCode == 39) { 
     alert( "right key pressed" );
     return false;
   }else  if (e.keyCode == 38) { 
     alert( "Up key pressed" );
     return false;
   }else  if (e.keyCode == 40) { 
     alert( "Down key pressed" );
     return false;
    }
   });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2015-07-14
    相关资源
    最近更新 更多