javascript - 让 div 元素获得焦点

标签 javascript html

如何制作 HTML <div>元素获得焦点,所以元素将在 focus() 时成为焦点对他们有要求吗?

最佳答案

div 上设置 tabindex="0",前提是您希望 div 获得焦点,而不是子元素。

更新了答案以添加 JS Fiddle 演示,展示了实现此目的的 JavaScript 方法:

var divs = document.getElementsByTagName('div');
for (var i = 0, len = divs.length; i < len; i++){
    divs[i].setAttribute('tabindex', '0');
}

JS Fiddle demo .

在编写演示时我发现 tabindex="-1" 允许元素接收鼠标点击以分配焦点,但不是键盘事件(通过 tab按钮),但是(正如评论中暗示的那样,在 Fabricio Matté 之前, tabindex="0" 允许两者)。所以我在演示中使用了它,并更新了原始答案以反射(reflect)该更改。

此处记录了 tabindex="0"tabindex="-1" 的行为:https://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#Using_tabindex

关于javascript - 让 div 元素获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261504/

相关文章:

javascript - 在 Chrome 扩展中使用 Require.JS 时如何让 chrome.runtime.onInstalled 触发

javascript - Express : No data received in final step 的链式 promise

Adobe Illustrator 的 Javascript 处理

HTML5 Canvas - 用图像填充圆圈

javascript - 用于查找类的所有元素的强大选择器

javascript - 两个日期之间的虚线 amcharts

html - 为什么 × html 实体是 ×

html - Div margin 将其插入内部

html - 展开div高度

javascript - 数据列表垂直滚动在 Chrome 中不起作用