You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript首次触发focus/blur事件未捕获问题及原因排查

window focus/blur事件首次触发失效问题的排查与解决

问题场景

我之前碰到一个诡异的问题:通过下面的代码给window绑定的focus和blur事件,第一次该触发的时候完全没被捕获,只有后续操作才会正常响应:

document.addEventListener("DOMContentLoaded", function() {
  window.addEventListener("focus", function () { 
    // 自定义业务逻辑
  }); 
  window.addEventListener("blur", function () { 
    // 自定义业务逻辑
  }); 
})

我还尝试过手动调用window.blur();和window.focus()来强制触发事件,但都没有效果。

问题根因与解决

后来终于找到问题所在:页面加载时浏览器的控制台处于打开状态。虽然具体的底层触发逻辑细节还没完全搞清楚,但只要关闭控制台后重新加载页面,首次触发focus/blur事件就完全正常工作了。


内容的提问来源于stack exchange,提问作者Florian M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:56:11