Hostlistener不响应箭头键

时间:2017-05-19 16:15:24

标签: angular

我有一个有角度的2分量,在其中间我会听键:

  @HostListener('document:keypress', ['$event'])
  handleKeyboardEvent(event: KeyboardEvent) {
      console.log(event);
  }

我没有得到箭头键的任何通知,输入键工作,正常键也是如此。

我在这篇文章中读到我可以添加一个window.event:

Angular2 Navigation using Arrow Keys 这似乎是关于这个主题的唯一帖子。

虽然我可以使用这种解决方案(并且不可否认我确信它会起作用),但它看起来并不是很有意义。" angular"对我来说。我应该把它放在什么元素上?

为什么我没有收到箭头键的通知?他们是按键不是吗?

1 个答案:

答案 0 :(得分:5)

您需要使用keydown作为箭头键。

@HostListener('document:keydown', ['$event'])
  handleKeyboardEvent(event: KeyboardEvent) {
      console.log(event);
  }

keypress事件表示正在键入的字符,箭头不是字符,因此它们不会触发按键