没有onBlur时失去焦点时该怎么做

时间:2018-08-16 12:48:52

标签: reactjs focus

当输入字段失去焦点时,我使用了onBlur进行监听。但是,如果用户按下“ Enter”键,这将无法解决(是的,我正在处理Enter事件)。我看过onFocusOut,但是我不知道如何访问它。你知道我该怎么解决吗?

2 个答案:

答案 0 :(得分:2)

不知道您是否使用ref解决了此问题,但这是您要完成的事情的有效示例:

https://codesandbox.io/s/1vzm3x3l44

答案 1 :(得分:0)

React使用onFocusonBlur代替onFocusInonFocusOut。所有React事件都归一化为冒泡,因此React不需要/支持onFocusInonFocusOut

但是您仍然可以收听focusout

componentDidMount(){
  document.getElementById('input').addEventListener('focusout', handler, false);

  function handler(event) {
    console.log(event.type)
  }
}