javascript - 确定哪个元素具有焦点

标签 javascript dom-events

<分区>

Possible Duplicates:
How to determine which html page element has focus?
How do I find out which Javascript element has focus?

有没有办法确定当前文档中的哪个元素具有焦点?理想情况下无需遍历每个元素。

最佳答案

重复:

长话短说:

一些浏览器(最初只有 IE,但 Firefox 3 和 Safari 跳上了马车)支持 document.activeElement 属性,它可以实现你想要的。

对于旧版浏览器,你需要这个 hack 来模拟属性:

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

function _dom_trackActiveElementLost(evt) { 
    document.activeElement = null;
}

if (!document.activeElement) {
    document.addEventListener("focus",_dom_trackActiveElement,true);
    document.addEventListener("blur",_dom_trackActiveElementLost,true);
}

关于javascript - 确定哪个元素具有焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009777/

相关文章:

javascript - 在页面加载时加载 Iframe 内容

javascript - Highcharts 日期不准确

javascript - 在 sinon.js 中 stub 和/或模拟一个类?

javascript - 保存在运行 html 时所做的更改(在浏览器中)

javascript - JS getters : does defineProperty replace or complement the older, inline 'get' 'set' 语法?

javascript - 在 Ember-cli 演示中包装 localStorage

javascript - IE9 事件是否完全符合 DOM Level 2 标准?

javascript - 如何避免在 "dist"目录中删除 vite 构建?

javascript - 动态加载脚本后访问变量

javascript - 如何从 SharePoint Web 部件访问 onresize 事件?