我遇到的问题是我有一个带有带有Input元素的表单的React App,我需要检测是否已按下Enter键或。在桌面chrome上运行正常,但在Android chrome上运行良好(三星Note 9)。首先,移动键盘不显示Enter键,而是显示Next键或Tab键。当我检查事件时,手机未注册密钥,KeyCode或charCode。我已经尝试过onKeyDown,onKeyUp,onKeyPress,结果相似。
我建立了这个简单的例子来关注这个问题。
const handleKeyDown = (event)=>{
event.preventDefault();
console.log('Key: ' + event.key)
console.log('KeyCode: ' + event.keyCode)
console.log('CharCode: ' + event.charCode);
console.log('Code: ' + event.code);
}
function App() {
return (
<div className="App">
<h2>Test Input</h2>
<form action="">
<input id="sampleInput" type="text" onKeyDown={handleKeyDown}/>
<div>
<input id="sampleInput2" type="text" onKeyDown={handleKeyDown}/>
</div>
</form>
</div>
);
}
在第一个输入中输入abc时,我得到以下信息:
从移动控制台: 密钥:不明 关键码:229 验证码:0
所有按键都一样