是否有任何文件/类保存每个键盘事件的常量?

Rav*_*vta 9 javascript angular

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

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

在这段代码中,我想13Keycode.ENTER替换。但是没有可用的类来保存 Angular 和 JavaScript 中每个键的常量。

那么我还缺什么课吗?如果不是,那么为什么 javascript 或 Angular 没有在一处定义常量?

er-*_*sho 7

我想你想要

if (event.key === KeyEventEnum.Enter) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

或者

if (event.key === KeyEventEnum.Escape) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

或者

if (event.key === KeyEventEnum.Shift) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

或者

if (event.key === KeyEventEnum.Ctrl) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

而不是你正在使用像

if (event.key === "Enter") {
...
}
Run Code Online (Sandbox Code Playgroud)

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

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