你如何清除javascript中的焦点?

新手上路,请多包涵

我知道这不应该那么难,但我无法在谷歌上找到答案。

我想执行一段 javascript,它将清除焦点从它所在的任何元素上,而无需提前知道焦点在哪个元素上。它必须在 firefox 2 以及更现代的浏览器上工作。

有没有好的方法来做到这一点?

原文由 Andres 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

答案: document.activeElement

做你想做的,使用 document.activeElement.blur()

如果你需要支持 Firefox 2,你也可以使用这个:

 function onElementFocused(e)
{
    if (e && e.target)
        document.activeElement = e.target == document ? null : e.target;
}

if (document.addEventListener)
    document.addEventListener("focus", onElementFocused, true);

原文由 jps 发布,翻译遵循 CC BY-SA 4.0 许可协议

.focus() 然后 .blur() 你页面上的其他任意内容。由于只有一个元素可以拥有焦点,因此它会转移到该元素然后被移除。

原文由 Kevin Reid 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题