javascript 确定哪个元素具有焦点[重复]

bxgwgixi  于 2023-01-01  发布在  Java
关注(0)|答案(2)|浏览(142)
    • 此问题在此处已有答案**:

13年前就关闭了。

    • 可能重复:**

How to determine which html page element has focus?
How do I find out which Javascript element has focus?
有没有一种方法可以确定文档中的哪个元素当前具有焦点?理想情况下,不需要遍历每个元素。

yr9zkbsy

yr9zkbsy1#

重复:

长话短说:
一些浏览器(最初只有IE浏览器,但Firefox3和Safari浏览器也加入了进来)支持document.activeElement属性,这可以实现您想要的功能。
对于较旧的浏览器,您需要这个技巧来模拟属性:

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);
}
e5nqia27

e5nqia272#

您可以将onfocus附加到body元素,并让焦点更改事件冒泡

相关问题