javascript - JavaScript 使用 div 类而不是 div id 声明来关注特定元素
问题描述
以下函数可以关注具有 id 声明的元素:
function setFocus() {
document.getElementById("focus").focus();
}
但是如何才能专注于具有类名声明的元素。用例是否会出现在我们想要关注的元素已经从 dom(即const element = document.querySelectorAll('.a-class-name')[0
])类型的场景中存储的代码中?
解决方案
元素是否有标签索引?除非它具有选项卡索引,否则您无法聚焦非输入元素。用于tabindex="-1"
div 和 span 等元素。然后调用.focus()
元素上的方法。-1 将允许您使用 focus 方法进行对焦,但在使用键盘移动焦点并按 Tab 时不会获得焦点。
document.getElementById('btn').addEventListener('click', function() {
document.querySelectorAll('.focus_me')[0].focus();
});
<span class="focus_me" tabindex="-1">Focus me</span><br>
<button id="btn">Click to focus</button>
推荐阅读
- authentication - 针对 API 服务器的 kubernetes 身份验证
- powershell - PowerShell Get-Childitem 更改输出
- javascript - Mediaelementplayer不能在手机上运行
- charts - Google BarChart - the horizontal base line is not appearing
- java - 查找文本中的所有字谜并以原始文字打印
- javascript - Angular ng-smart-table delete 确认模态剂量不起作用
- c# - Asp.net core 2.1 到 Asp.net 3.0 升级
- r - 36 核的 R 比 8 核的 R 慢得多
- java - Java 从 SMTP 服务器 * 获取 * 邮件
- terminal - 在 Alacritty 中逐字移动光标