如何制作 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');
}
在编写演示时我发现 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/