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

时间:2016-07-05 14:43:57

标签: javascript php jquery

我正在尝试使用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>';

第一个警报就在那里,所以我知道它甚至可以识别脚本。但是,当我按下箭头键时 - 没有任何反应。

3 个答案:

答案 0 :(得分:0)

请改用:

class HeroDetailComponent {
  ngOnInit() {
    this.sub = this.route
      .data
      .subscribe(v => console.log(v));
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }
} 

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

答案 1 :(得分:0)

您不会使用

添加事件处理程序
$(document).keydown = ...

在jQuery中。

要么是

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

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

答案 2 :(得分:0)

我做了这个小fiddle

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

希望有所帮助

相关问题