"(keyup.backspace)"无法捕获"shift + backspace"



我正试图捕捉表单输入字段中发生的每一次删除和退格,我采用了以下方式:

<input (keyup.enter)="sendData()" (keyup.delete)="clear()" (keyup.backspace)="clear()">

它确实适用于退格按压,但与左移或右移结合使用时则无效。我该如何处理这些案件?

我不知道为什么组合键不起作用。我猜Ctrl组合不能很好地工作。因此,在此期间,您可以使用组合的键代码作为变通方法。

模板

<input (keyup)="onKeyup($event)">

控制器

onKeyup(event: KeyboardEvent) {
const key = event.keyCode || event.charCode;
if (key === 13) {               // enter (cr)
sendData();
} else if (
key === 8 || key === 46 ||    // backspace or delete
(key === 8 && 17) ||          // backspace + ctrl
(key === 8 && 16) ||          // backspace + shift
(key === 46 && 17)            // delete + ctrl
) {
clear();
}
}

工作示例:Stacklitz

相关内容

  • 没有找到相关文章

最新更新