angular 键盘事件绑定与过滤

方便的angular按钮绑定

<input (keyup.enter)="keyUpSearch($event)" value="按下回车键触发">
<input (keyup.;)="keyUpSearch($event)" value="按下;号键触发">

官方文档:https://www.angular.cn/guide/user-input#key-event-filtering-with-keyenter

(keyup) 事件处理器监听每一次按键。 有时只在意回车键,因为它标志着用户结束输入。 解决这个问题的一种方法是检查每个 $event.keyCode,只有键值是回车键时才采取行动。

更简单的方法是:绑定到 Angular 的 keyup.enter 模拟事件。 然后,只有当用户敲回车键时,Angular 才会调用事件处理器。
示例:
template:

<input #box (keyup.enter)="update(box.value, $event)" (blur)="update(box.value)">

component:

@Component({
  selector: 'app-key-up4',
})
export class KeyUpComponent_v4 {
  value = '';
  update(value: string, event: any) { this.value = value; }
}

常用的过滤有

(keyup.enter)    // 按键并回车
(keyup.space)    // 按键并空格
(keyup.control)  // 按键并ctrl
(keyup.shift)    // 按键并shift
(keyup.alt)      // 按键并alt
(keyup.1)        // 按键1触发
(keyup.,)       // 按键,触发
(keyup.3)        // 按键并alt

不支持一些具有正则含义的符号,
/ ? *

posted @ 2019-03-04 23:15  凉月-天  阅读(2425)  评论(0编辑  收藏  举报