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
不支持一些具有正則含義的符號,
如 / ? * 等