每个键盘事件有没有文件/类持有常量?

时间:2018-07-14 04:36:40

标签: javascript angular

在角度上,我将数据与主机侦听器绑定在一起,如下面的代码

@HostListener('window:keyup', ['$event'])
onKeyUp(event: KeyboardEvent) {
  if (event.keyCode === 13) {
    this.onEnterClicked(event);
  }
}

,并且在这段代码中,我想将13替换为 Keycode.ENTER 。 但是没有可用的类为angular和javascript中的每个键保存常量。

所以我缺少任何课程吗?如果不是,那么为什么在某个地方使用javascript或angular没有定义的常量?

2 个答案:

答案 0 :(得分:1)

使用event.key代替event.keyCodekeyCode返回13进行输入,event.key返回"Enter"字符串

 HostListener('window:keyup', ['$event'])
    onKeyUp(event: KeyboardEvent) {
      if (event.key === "Enter") {
        this.onEnterClicked(event);
      }
    }

答案 1 :(得分:1)

我想你想要

ng generate @angular/material:material-nav --name my-navbar

if (event.key === KeyEventEnum.Enter) {
   ...
}

if (event.key === KeyEventEnum.Escape) {
   ...
}

if (event.key === KeyEventEnum.Shift) {
   ...
}

代替您使用的是

if (event.key === KeyEventEnum.Ctrl) {
   ...
}

Angular没有任何常量或枚举将所有键代码保存在一个地方,但是如果您想要任何枚举或常量,那么请访问一次下面的链接可能会对您有所帮助。 它是一个有角度的程序包,您必须将其包含在项目中。

https://github.com/nfriend/ts-keycode-enum