【问题标题】:How to do something when you lose focus, without onBlur当你失去焦点时如何做某事,没有 onBlur
【发布时间】:2018-08-16 12:48:51
【问题描述】:

我使用 onBlur 来监听输入字段何时失去焦点。但是,如果用户按“Enter”(是的,我正在处理 Enter 事件),这将不起作用。我见过 onFocusOut,但我不知道如何访问它。你知道我该如何解决这个问题吗?

【问题讨论】:

  • 使用keycode ?

标签: reactjs focus


【解决方案1】:

不知道您是否使用ref 来解决此问题,但这是您尝试完成的工作示例:

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

【讨论】:

    【解决方案2】:

    React 使用 onFocusonBlur 而不是 onFocusInonFocusOut。所有 React 事件都被标准化为冒泡,因此 React 不需要/不支持 onFocusInonFocusOut

    但你还是可以听focusout

    componentDidMount(){
      document.getElementById('input').addEventListener('focusout', handler, false);
    
      function handler(event) {
        console.log(event.type)
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多