点击键盘上的事件:向上,向下,向左,向右

时间:2014-05-20 05:21:59

标签: javascript html events keyboard-events

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

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 }

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

3 个答案:

答案 0 :(得分:3)

箭头键仅由onkeydown触发,而不是onkeypress

密钥代码是:

  • left = 37
  • up = 38
  • right = 39
  • down = 40

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

答案 1 :(得分:0)

试试这段代码:

$(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
              }
        });
    });

答案 2 :(得分:0)

<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>