繁体   English   中英

使用箭头键识别JavaScript中的keydown()

[英]Recognizing keydown() in JavaScript with Arrow Keys

我正在尝试使用JavaScript(在PHP内部)识别keyDown事件-特别是箭头键。 我浏览了这里的各种主题以及其他资源,但未能找到解决方案。 我的代码如下:

echo '<script>
  alert ("Hi");
  $(document).keydown = (function(e) {

  if (e.which == 37 || e.which == 38) {
    alert("It works!");
  }
  if (e.which == 39 || e.which == 40) {
    alert("It works, also!");
  }
  });
  </script>';

第一个警报就在那儿,所以我知道它甚至可以识别脚本。 但是,当我按箭头键时-什么也没发生。

使用此代替:

echo '<script>
  alert ("Hi");
  $( document ).on( "keydown", function ( e ) {

    if ( e.which == 37 || e.which == 38 ) {
        alert( "It works!" );
    }
    if ( e.which == 39 || e.which == 40 ) {
        alert( "It works, also!" );
    }
} );
</script>';

您所使用的代码只会在jquery返回的对象上添加一个方法,而实际上并没有添加侦听器:)

您不使用添加事件处理程序

$(document).keydown = ...

在jQuery中。

要么是

$(document).keydown( function (){} ); 

要么

$(document).on("keydown", function (){} ); 

我做了这个小提琴

$(document).on("keydown", function(e) {
    switch (e.which) {
        case 37:
        case 38:
            alert("Go left or up!");
            break;
        case 39:
        case 40:
            alert("Go right or down!");
            break;
    }
});

希望能有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM