Focusable
HTML 元素中,并不是所有元素都可以获得焦点,有如下元素可以获得焦点: a, area, button, input, object, select, textarea,这些元素就是 focusable 元素。
而除了上述元素之外,还可以通过如下方式使元素变为 focusable 元素:
- 设置了
tabindex属性的元素 - 设置了
contenteditable="true"属性的元素
要想一个 focusable 元素获得焦点,则有三种方式:
- 使用鼠标点击元素
- 调用元素的
focus()方法 - 通过 Tab 键进行却换
tabindex
tabindex 的一大作用就是让元素可以获得焦点,从而触发 focus 状态。给联系人列表的元素 li 都加上该属性后,我遇到的问题也就解决了。
tabindex 的另一个作用,就是设定 Tab 键切换的顺序。tabindex 有如下几个值:
- 1 ~ 32767: 通过 Tab 键切换时,切换顺序将遵循数字的大小(从小到大),数字相同则按出现的先后次序进行切换
- 0: 默认值,当 tabindex > 0 的元素都切换之后,才会切换到 tabindex = 0 的元素,并且按出现的先后次序进行切换
- 负数(通常为 -1): 通过 Tab 键无法切换到该元素,但鼠标点击可以获取焦点
本文详细介绍了HTML中能够获得焦点的元素及其如何通过tabindex属性设置切换顺序。了解了哪些元素是focusable元素,如何使其他元素变成可聚焦元素,以及tabindex属性的不同值所代表的意义。
658

被折叠的 条评论
为什么被折叠?



