我有一个表单,我想在文本输入中处理更改事件,但是在按键时触发 onChange (与原生JS相反,当输入字段失焦时触发更改事件)。
是否有 React方式来做我想要的事情?
答案 0 :(得分:77)
如果您只想在输入失去焦点时触发验证,则可以使用onBlur
答案 1 :(得分:3)
您需要小心,因为onBlur
在IE11中有一些警告(How to use relatedTarget (or equivalent) in IE?,https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget)。
但是,据我所知,在React中无法使用onFocusOut
。如果您需要更多信息,请在他们的github https://github.com/facebook/react/issues/6410上查看问题。
答案 2 :(得分:1)
太晚了,但是值得您注意,浏览器级别的focusin和focusout事件的实现存在一些差异,并且对合成onFocus和onBlur做出反应。 focusin和focusout实际上会冒泡,而onFocus和onBlur不会。因此,到目前为止,对于reactin和focusout还没有完全相同的实现。无论如何,大多数情况都会在onFocus和onBlur中涵盖。