Angular 6 - 移动设备上的按键 Space
Angular 6 - Keydown Space on Mobile
我有一个 input
,我在其中监听 keydown.space
事件。此技术在桌面上运行良好,但事件不会在移动设备上触发。我的 HTML 模板如下所示:
<input
type="text"
(keydown.space)="onAdd()"
(keydown.backspace)="onRemoveLast()"
>
所以我需要一种方法来监听手机软键盘上的space key
事件
你在什么"mobile" 上测试过它?如果是 Android,就像 William Moore 说的,这可能是 Android 没有将空格键注册为标准 32 的问题。
否则,您可以尝试 onkeypress + 在 JS 端监听 keycode,如下所示:
<input
type="text"
onkeypress="onAdd(event)"
(keydown.backspace)="onRemoveLast()"
>
function onAdd(event){
if (event.keyCode === 32) ...
}
这就是我为让它发挥作用所做的工作:
HTML
<input
[(ngModel)]="input"
(keydown.backspace)="onRemoveLast()"
(ngModelChange)="onChange()"
>
打字稿
public onChange(): void {
if (this.input.substr(-1) === ' ') this.add();
}
我有一个 input
,我在其中监听 keydown.space
事件。此技术在桌面上运行良好,但事件不会在移动设备上触发。我的 HTML 模板如下所示:
<input
type="text"
(keydown.space)="onAdd()"
(keydown.backspace)="onRemoveLast()"
>
所以我需要一种方法来监听手机软键盘上的space key
事件
你在什么"mobile" 上测试过它?如果是 Android,就像 William Moore 说的,这可能是 Android 没有将空格键注册为标准 32 的问题。
否则,您可以尝试 onkeypress + 在 JS 端监听 keycode,如下所示:
<input
type="text"
onkeypress="onAdd(event)"
(keydown.backspace)="onRemoveLast()"
>
function onAdd(event){
if (event.keyCode === 32) ...
}
这就是我为让它发挥作用所做的工作:
HTML
<input
[(ngModel)]="input"
(keydown.backspace)="onRemoveLast()"
(ngModelChange)="onChange()"
>
打字稿
public onChange(): void {
if (this.input.substr(-1) === ' ') this.add();
}