Javascript 反应<;输入>;:按enter键关闭软键盘
我正在编写一个React应用程序,将在移动设备上使用 其中一个页面包含用户用键盘输入的Javascript 反应<;输入>;:按enter键关闭软键盘,javascript,html,reactjs,Javascript,Html,Reactjs,我正在编写一个React应用程序,将在移动设备上使用 其中一个页面包含用户用键盘输入的文本。在字段中输入文本会立即生效,因此之后无需按下按钮。我想让软键盘的“回车”键简单地关闭键盘而不采取任何行动。这有可能吗?听起来很简单,但我找不到怎么做 值得一提的是,我尝试添加enterKeyHint=“done”属性(如上所述),但除了将输入标题从“done”更改为“v”符号外,它不会关闭键盘 有什么想法吗?提前谢谢 听起来好像只是从元素本身触发blur()的问题。 您可以从事件处理程序触发blur(),
文本。在字段中输入文本会立即生效,因此之后无需按下按钮。我想让软键盘的“回车”键简单地关闭键盘而不采取任何行动。这有可能吗?听起来很简单,但我找不到怎么做
值得一提的是,我尝试添加enterKeyHint=“done”
属性(如上所述),但除了将输入标题从“done”更改为“v”符号外,它不会关闭键盘
有什么想法吗?提前谢谢 听起来好像只是从元素本身触发
blur()
的问题。
您可以从事件处理程序触发blur()
,也可以使用useRef
如果您不希望您的输入使事件冒泡向上,或者如果事件在表单中,请确保e.stopPropagation()
或e.preventDefault()
export default function App() {
const onEnter = (e) => {
if (e.key === "Enter") {
e.target.blur();
}
};
return (
<div className="App">
<input onKeyUp={onEnter} />
</div>
);
}
导出默认函数App(){
const onEnter=(e)=>{
如果(e.key==“输入”){
e、 target.blur();
}
};
返回(
);
}
代码沙盒: