Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应<;输入>;:按enter键关闭软键盘_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 反应<;输入>;:按enter键关闭软键盘

Javascript 反应<;输入>;:按enter键关闭软键盘,javascript,html,reactjs,Javascript,Html,Reactjs,我正在编写一个React应用程序,将在移动设备上使用 其中一个页面包含用户用键盘输入的文本。在字段中输入文本会立即生效,因此之后无需按下按钮。我想让软键盘的“回车”键简单地关闭键盘而不采取任何行动。这有可能吗?听起来很简单,但我找不到怎么做 值得一提的是,我尝试添加enterKeyHint=“done”属性(如上所述),但除了将输入标题从“done”更改为“v”符号外,它不会关闭键盘 有什么想法吗?提前谢谢 听起来好像只是从元素本身触发blur()的问题。 您可以从事件处理程序触发blur(),

我正在编写一个React应用程序,将在移动设备上使用

其中一个页面包含用户用键盘输入的
文本。在字段中输入文本会立即生效,因此之后无需按下按钮。我想让软键盘的“回车”键简单地关闭键盘而不采取任何行动。这有可能吗?听起来很简单,但我找不到怎么做

值得一提的是,我尝试添加
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();
}
};
返回(
);
}
代码沙盒: