如何使 HTML<div>
元素获得焦点,以便在调用元素时将其置于焦点focus()
?
问问题
63648 次
1 回答
112
设置tabindex="0"
on div
, 假设您希望div
s 接收焦点,而不是子元素。
更新了答案以添加 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"
允许两者)。所以我在演示中使用了它,并更新了原始答案以反映这种变化。
此处记录的tabindex="0"
vs行为: https ://developer.mozilla.org/en-US/docs/Web/Accessibility/Keyboard-navigable_JavaScript_widgets#Using_tabindextabindex="-1"
于 2013-04-28T09:33:33.470 回答