如何正确捕获React.js中文本输入的change / focusOut事件?

JavaScript React.js

TomL

2020-03-19

我有一个表单,我想在其中处理文本输入的更改事件,但是React onChange按下键时触发(与本机JS相反,当输入字段失焦会触发更改事件)。

React的方式来做我想要的吗?

第2392篇《如何正确捕获React.js中文本输入的change / focusOut事件?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

3个回答
神奇Eva 2020.03.19

太晚了,但值得您注意的是,在浏览器级别上,focusin和focusout事件的实现存在一些差异,并且对合成onFocus和onBlur做出反应。focusin和focusout实际上会冒泡,而onFocus和onBlur不会。因此,到目前为止,对于reactin和focusout还没有完全相同的实现。无论如何,大多数情况将在onFocus和onBlur中涵盖。

Tony小小 2020.03.19

您需要小心,因为onBlurIE11有一些警告(如何在IE中使用relatedTarget(或同等功能??)https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget) 。

onFocusOut据我所知,在React中没有任何方法可以使用如果需要更多信息,请参阅他们的github https://github.com/facebook/react/issues/6410上的问题

ㄏ囧囧ㄟ 2020.03.19

如果只想在输入失去焦点时触发验证,则可以使用onBlur

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android