你如何在javascript中清除焦点?

2022-08-30 01:06:49

我知道这不应该那么难,但我在谷歌上找不到答案。

我想执行一段javascript,它将清除任何元素的注意力,而无需提前知道焦点在哪个元素上。它必须在firefox 2以及更现代的浏览器上运行。

有没有一个好方法可以做到这一点?


答案 1

答:document.activeElement

要做你想做的事,请使用document.activeElement.blur()

如果你需要支持 Firefox 2,你也可以使用这个:

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

if (document.addEventListener) 
    document.addEventListener("focus", onElementFocused, true);

答案 2

.focus()然后在您的页面上任意添加其他内容。由于只有一个元素可以具有焦点,因此它将被转移到该元素,然后被删除。.blur()