如何选择用户可以按Tab键导航到的所有元素?
我是否必须对输入,文本区域,a,按钮等进行硬编码,或者是否可以通过浏览器的默认名称进行识别?
我最终想要实现的目标是在这里:Default tabbing behavior puts links behind sticky header
您可以尝试使用document.querySelectorAll("[tab-index]")
之类的选择器吗?
由于具有tab-index属性为非负值,因此可以确保它是标签的焦点
您可以编写一个查询focusable的每个元素并过滤掉被禁用的元素的函数,因为这也会禁用焦点。
const getKeyboardFocusableElements = (element = document) =>
Array.from(element.querySelectorAll(
'a, button, input, textarea, select, details,[tabindex]:not([tabindex="-1"])'
)).filter(el => !el.hasAttribute('disabled'));
• 切换按钮不仅适用于中心元素! (HTML / Javascript)
• 当使用 javascript 动态添加更多元素时,querySelectorAll 的 EventListener
• 在 Javascript 中删除所有具有特定标签名称的 DOM 元素
• Safari 事件侦听器<select> 单击和鼠标按下
• 使用 jquery 将一个 HTML 元素中的文本发送/复制到另一个元素
• D3.js 在 Mozilla Firefox 上无法正确呈现
• 在 Tailwind CSS 中,如何在 ReactJS 中使用危险的 SetInnerHTML 来设置元素样式?
• 如何合并contenteditable parent的两个子相邻子元素的文本节点