代码之家  ›  专栏  ›  技术社区  ›  Ravi Sevta

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

  •  1
  • Ravi Sevta  · 技术社区  · 6 年前

    在Angular中,我将数据绑定到主机侦听器,如下所示

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

    在这段代码中,我想替换 13 带着一些东西 键代码.enter 是的。 但是没有一个类可以在angular和javascript中为每个键保存常量。

    那我缺了什么课吗?如果不是,那么为什么javascript或angular没有在一个地方定义常量?

    2 回复  |  直到 6 年前
        1
  •  1
  •   er-sho    6 年前

    我想你想要

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

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

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

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

    而不是你用

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

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

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

        2
  •  1
  •   Akhil Aravind    6 年前

    使用 event.key 而不是 event.keyCode 我是说, keyCode 回报 13 输入和 事件.key 回报 "Enter" 一串

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