使div元素获得焦点

qwe*_*wsx 38 html javascript

如何使HTML <div>元素获得焦点,因此在focus()调用它们时元素将被聚焦?

Dav*_*mas 66

假设您希望s获得焦点而不是子元素,请设置tabindex="0"on .divdiv

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

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

JS小提琴演示.

在编写演示时,我发现tabindex="-1"允许元素接收鼠标点击以分配焦点,但不是键盘事件(通过tab按钮),然而(正如评论中暗示的那样,早先,FabricioMatté,tabindex="0"允许两者).所以我在演示中使用了它,并更新了原始答案以反映这种变化.

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