键盘中的 Enter 键的键盘码keycode为 13 ,如果想只当按下Enter键才触发事件,则需要通过键盘码来绑定键盘的Enter事件,而键盘的响应事件包括三种: keyup、keydown、keypress。
1. keydown() 按键按下时,触发事件;
2. keyup() 按键按下松开时,触发事件;
3. keypress() 上述两种情况的结合,需按下并松开,才会触发事件;
这里用的是:(keypress)="($event.which === 13)?find():0"(此语法用到了三元表达式,其中find()为欲触发的事件)
<input type="text" id="productSku" class="form-control" [(ngModel)]="searchForm.productSku" [ngModelOptions]="{standalone: true}" (keypress)="($event.which === 13)?find():0" placeholder="请输入..." />
以下为常用的键盘码(如需绑定键盘的其他按键,更换键盘码即可):
keyCode 8 = BackSpace
keyCode 13 = Enter
keyCode 16 = Shift_L
keyCode 17 = Control_L
keyCode 18 = Alt_L
keyCode 32 = space
keyCode 34 = Next
keyCode 35 = End
keyCode 36 = Home
keyCode 37 = Left
keyCode 38 = Up
keyCode 39 = Right
keyCode 40 = Down
keyCode 42 = Print
keyCode 45 = Insert
keyCode 46 = Delete