一尘不染

如何找出哪个 DOM 元素具有焦点?

javascript

我想在 JavaScript 中找出当前焦点所在的元素。我一直在浏览 DOM,但还没有找到我需要的东西。有没有办法做到这一点,以及如何做到这一点?

我一直在寻找这个的原因:

我正在尝试制作像箭头一样的键并enter在输入元素表中导航。选项卡现在可以工作,但输入和箭头默认情况下似乎没有。我已经设置了关键处理部分,但现在我需要弄清楚如何将焦点移到事件处理函数中。


阅读 155

收藏
2022-02-23

共1个答案

一尘不染

使用document.activeElement,所有主流浏览器都支持。

以前,如果您试图找出哪个表单域具有焦点,则不能。要在旧浏览器中模拟检测,请将“焦点”事件处理程序添加到所有字段并将最后一个焦点字段记录在变量中。添加一个“模糊”处理程序以在最后一个焦点字段的模糊事件中清除变量。

如果您需要删除,activeElement您可以使用模糊;document.activeElement.blur(). 它将更改activeElementbody.

2022-02-23