按下Delete或Backspace键时,我需要激活一个功能。呼叫是在作为表单一部分的数字输入字段中进行的。这有效:
onKeyUp={((e) => this.onCero(e))}
这不起作用:
onKeyDown ={((e) => this.onCero(e))}
我正在调用的函数:
onCero = (e) => {
e.preventDefault();
if (e.key === "Delete" || e.key === "Backspace") {
alert(e.key);
}
};
我需要在按下键时触发函数,而不是在使用React或JavaScript释放键时触发该函数。
有想法吗?谢谢。
最佳答案
您可以为此使用经典的JavaScript事件监听器。
就像这样:
componentDidMount() {
document.addEventListener('keydown', this.onCero, false);
}
componentWillUnmount() {
document.removeEventListener('keydown', this.onCero, false);
}
然后使用可以使用onCero函数中的键代码:
onCero = (e) => {
if (e.keyCode === 27 || e.keyCode === 13) {
alert(e.keyCode);
}
};