keyup / keydown vs输入事件 - 角度2

时间:2017-05-09 15:34:42

标签: angular

我正在尝试捕获角度为2的自动完成指令的所有键盘事件。我已将其分为3种不同类型的事件。

1)keyup / keydown - >空间,向上箭头,向下箭头,输入,转义

     @HostListener('window:keyup', ['$event'])
      keyDownEvent(event: KeyboardEvent) { 

 switch (event.code) {
      // keycode 32
      case "Space" :
      //handle space event
        break;

        //keycode 38
      case "ArrowUp":
        //handle arrow up event
        break;

        //keycode 40
      case "ArrowDown":
        //handle arrow down event
        break;

        //keycode 13
      case "Enter":
        //handle enter 
        break;

        //keycode 27
      case "Escape":
        //handle escape event
        break;

      default :
        break;
    }
      }

2)模糊

@HostListener('blur', ['$event'])
  bluEventHandler(event: any){
 }

3)输入(键盘上的所有其他键除了#1和#2中提到的内容,如a-z,A-z,特殊字符等)

????

我不确定如何捕获输入事件。我正在尝试将我的角度代码转换为角度2,这就是它在角度1中的外观

$(this.element).bind("keydown", function (event) {
}
 $(this.element).bind("input", function (event) {
}
 $(this.element).bind("blur", function (event) {
}

1 个答案:

答案 0 :(得分:2)

您可以像使用PAINTSTRUCT

那样以同样的方式收听input
keyup

Plunker example