检查 FocusEvent 是否由选项卡失去焦点引起

Check if a FocusEvent was caused by tab losing focus

如果可能的话,我将如何检查输入是否因为选项卡 switch/window 失去焦点而失去焦点。

用例:我正在重置一个模糊的表单,如果用户只是切换选项卡或 window 失去焦点

,我想使数据保持不变

我知道我可以改为只检查输入之外发生的点击事件,但我还想包括用户跳出表单的可能性,这就是为什么我有一般的句柄附件模糊事件。

我设法使用 document.hasFocus 实现了这一点。

例如代码:

 handleBlur = () => {
    if (!document.hasFocus()) {
      return;
    }

    this.deactivate()
  };