javascript - 如果另一个元素已经聚焦,你如何聚焦 body 元素?
问题描述
如果另一个元素已经聚焦,你如何以编程方式将焦点放在body
/元素上?document.body
调用document.body.focus()
似乎不起作用,可能是因为body
不可聚焦。
MDN说
HTMLElement.focus() 方法将焦点设置在指定元素上,如果它可以被聚焦的话。
解决方案
document.body
如果您首先调用当前聚焦的元素, Chrome 和 Firefox 都会聚焦该元素.blur()
,然后window.focus()
立即调用。
完整解决方案(TypeScript):
private focusBody = () => {
if (document.activeElement instanceof HTMLElement) {
document.activeElement.blur();
}
window.focus();
};
推荐阅读
- jmeter - 在 1 个测试计划中执行许多测试
- r - 列 R 中有多个字符串的条件
- excel - 打开具有特定名称模式的不同文件夹和工作表?
- python - 从 xlsx 导入到 pandas 时带有“无”标题的列
- java - Spring Boot应用程序属性解密jpa密码
- c# - 开始日期保存到数据库,而不是 DataPicker 中选择的日期
- python - (熊猫)按一列分组,只保留另一列最大的行
- arrays - Bash Array:将元素解释为文字
- java - GCP PubSub:创建配置类以发布消息
- unit-testing - EasyMock 的 .times(x) 方法是单元测试稳健性的问题吗?