Angular 6 - 移动设备上的Keydown空间

问题描述 投票:0回答:2

我有一个input,我在那里听keydown.space事件。此技术在桌面上运行良好,但事件不是在移动设备上触发的。我的HTML模板如下所示:

<input
    type="text"
    (keydown.space)="onAdd()"
    (keydown.backspace)="onRemoveLast()"
>

所以我需要一种方法来听取手机软键盘上的space key事件。

html angular angular6 keyboard-events keyevent
2个回答
1
投票

什么“移动”你测试了吗?如果它是Android,就像威廉·摩尔所说,可能是Android没有注册空格键按键作为标准32的问题。

否则,您可以尝试onkeypress +侦听JS端的键代码,如下所示:

<input
  type="text"
  onkeypress="onAdd(event)"
  (keydown.backspace)="onRemoveLast()"
>

function onAdd(event){
  if (event.keyCode === 32) ...
}

0
投票

这就是我做的工作:

HTML

<input
    [(ngModel)]="input"
    (keydown.backspace)="onRemoveLast()"
    (ngModelChange)="onChange()"
>

打字稿

public onChange(): void {
    if (this.input.substr(-1) === ' ') this.add();
}
© www.soinside.com 2019 - 2024. All rights reserved.