我想在 JavaScript 中找出当前焦点所在的元素。我一直在浏览 DOM,但还没有找到我需要的东西。有没有办法做到这一点,以及如何做到这一点?
我一直在寻找这个的原因:
我正在尝试制作像箭头一样的键并通过输入元素表 enter
导航。选项卡现在可以工作,但输入和箭头默认情况下似乎没有。我已经设置了关键处理部分,但现在我需要弄清楚如何将焦点移到事件处理函数中。
原文由 Tony Peterson 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想在 JavaScript 中找出当前焦点所在的元素。我一直在浏览 DOM,但还没有找到我需要的东西。有没有办法做到这一点,以及如何做到这一点?
我一直在寻找这个的原因:
我正在尝试制作像箭头一样的键并通过输入元素表 enter
导航。选项卡现在可以工作,但输入和箭头默认情况下似乎没有。我已经设置了关键处理部分,但现在我需要弄清楚如何将焦点移到事件处理函数中。
原文由 Tony Peterson 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答871 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
使用
document.activeElement
,所有主流浏览器都支持它。以前,如果您试图找出哪个表单域具有焦点,则不能。要在旧浏览器中模拟检测,请将“焦点”事件处理程序添加到所有字段并将最后一个焦点字段记录在变量中。添加一个“模糊”处理程序以在最后一个焦点字段的模糊事件中清除变量。
如果您需要删除
activeElement
,您可以使用 blur;document.activeElement.blur()
。它将activeElement
更改为body
。相关链接:
activeElement 浏览器兼容性
document.activeElement 的 jQuery 替代品