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

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

我一直在寻找的原因是:

我试图使像箭头键和enter通过输入元素表中导航。 Tab现在可以工作,但输入和箭头似乎并不默认。 我已经设置了关键处理部分,但现在我需要弄清楚如何在事件处理功能中移动焦点。


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

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

相关链接:

  • activeElement浏览器兼容性
  • jQuery替代document.activeElement

  • 正如JW所说,至少以独立于浏览器的方式,您无法找到当前关注的元素。 但是,如果你的应用程序只有IE浏览器(有些是...),你可以通过以下方式找到它:

    document.activeElement
    

    编辑:它看起来像IE并没有错,毕竟这是HTML5草案的一部分,似乎最新版本的Chrome,Safari和Firefox至少支持。


    如果你可以使用jQuery,它现在支持:focus,只要确保你使用的是1.6+。

    本声明将为您提供当前关注的元素。

    $(":focus")
    

    From:如何选择一个关注jQuery的元素

    链接地址: http://www.djcxy.com/p/14625.html

    上一篇: How do I find out which DOM element has the focus?

    下一篇: How do I check if an element is really visible with JavaScript?