我知道这不应该那么难,但我在谷歌上找不到答案。
我想要执行一段javascript,它将从它所在的任何元素上清除焦点,而不需要提前知道焦点在哪个元素上。它必须在Firefox2以及更现代的浏览器上运行。
有什么好方法可以做到这一点吗?
发布于 2010-03-26 09:39:17
要执行您想要的操作,请使用document.activeElement.blur()
如果您需要支持Firefox2,您还可以使用以下命令:
function onElementFocused(e)
{
if (e && e.target)
document.activeElement = e.target == document ? null : e.target;
}
if (document.addEventListener)
document.addEventListener("focus", onElementFocused, true);
发布于 2010-03-26 09:43:54
.focus()
,然后在你的页面上.blur()
其他任意的东西。因为只有一个元素可以拥有焦点,所以它被转移到该元素,然后被移除。
发布于 2014-02-04 19:56:28
document.activeElement.blur();
在IE9上工作错误-如果活动元素是文档正文,它会模糊整个浏览器窗口。最好检查一下这种情况:
if (document.activeElement != document.body) document.activeElement.blur();
https://stackoverflow.com/questions/2520650
复制相似问题