javascript - 在javascript中,如何消除文档中的任何焦点?
问题描述
我的意思是,有没有办法强制模糊?因此,如果任何组件(按钮、输入文本等)被聚焦,它将变得模糊,希望这是有道理的:)
就像 document.blur() 一样,我需要这个,因为每次用户按下 F5 时,我都需要在它刷新之前消除任何焦点。
解决方案
您可以使用document.activeElement.blur()
,但根据我的经验,即使您这样做了,某些元素总是会成为焦点。例如,在 Chrome 上body
,即使在从(例如)移除焦点之后,以下内容也会获得焦点input
:
setInterval(() => {
if (document.activeElement) {
document.activeElement.blur();
}
console.log(document.activeElement && document.activeElement.nodeName);
}, 1000);
<input type="text" id="x">
但它确实消除了焦点input
,也许这对您的用例来说已经足够了。
从您进一步解释情况的评论中,我倾向于认为您想要:
if (document.activeElement && document.activeElement !== document.body) {
document.activeElement.blur();
}
推荐阅读
- c++ - 如何在 C++ 中通过引用返回向量?
- javascript - 如何重构将 const 对象名称添加到数组中?
- video - 他们是一种防止来自 Jwplayer 的 ts 视频片段被嗅探的方法吗?
- webpack - 如何修复参数数量不足或找不到条目。或者,运行 'webpack(-cli) --help' 以获取使用信息
- terminal - 如何修复 EACCES:权限被拒绝,在安装 gatsby-cli 时打开 '/Users/....
- php - FOSRestBundle 与 BazingaHateoasBundle 集成,但响应中仍然缺少链接
- javascript - 格式化对象
- python - 名称“演员”未定义
- .htaccess - 内部服务器错误 错误 500 Codeigniter
- css - 是否可以将特定 CSS 属性从一个 CSS 文件提取到另一个?