我有一个input
,我在那里听keydown.space
事件。此技术在桌面上运行良好,但事件不是在移动设备上触发的。我的HTML模板如下所示:
<input
type="text"
(keydown.space)="onAdd()"
(keydown.backspace)="onRemoveLast()"
>
所以我需要一种方法来听取手机软键盘上的space key
事件。
什么“移动”你测试了吗?如果它是Android,就像威廉·摩尔所说,可能是Android没有注册空格键按键作为标准32的问题。
否则,您可以尝试onkeypress +侦听JS端的键代码,如下所示:
<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();
}