使div元素获得焦点

时间:2013-04-28 09:31:29

标签: javascript html

如何让HTML <div>元素获得焦点,那么在调用focus()时元素将会成为焦点?

1 个答案:

答案 0 :(得分:59)

假设您希望tabindex="0"获得焦点而不是子元素,请设置div 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"允许两者都有。所以我在演示中使用了它,并更新了原始答案以反映这种变化。

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