本文解决 firefox 下点击输入框无法稳定获得焦点的问题,通过修正事件绑定逻辑与隐藏条件,确保与 chrome 一致的点击即聚焦、失焦自动收起行为。
在 Web 开发中,常见“点击标题展开搜索框 → 点击输入框自动聚焦”的交互模式。原始代码在 Chrome 中表现正常,但在 Firefox 中存在明显问题:点击输入框时内容区域可能闪退、焦点丢失或无法持续保持。根本原因在于 Firefox 对 mouseup 事件冒泡和元素判断更为严格,且原始逻辑中 .blur() 强制失焦与后续 .focus() 存在竞争,同时全局 $(document).mouseup() 未排除输入框自身,导致刚聚焦即被隐藏。
Click Input

通过以上调整,Firefox 与 Chrome 行为完全一致:点击标题展开、点击输入框稳定聚焦、点击外部区域平滑收起——真正实现跨浏览器稳定的搜索交互体验。