小编典典

哪些HTML元素可以获得焦点?

html

我正在寻找可以集中注意力的HTML元素的最终列表,即在focus()调用它们时哪些元素将成为焦点?

我正在编写一个jQuery扩展,该扩展适用于可以引起关注的元素。我希望这个问题的答案能使我具体说明我要针对的要素。


阅读 1522

收藏
2020-05-10

共1个答案

小编典典

没有明确的列表,取决于浏览器。我们拥有的唯一标准是DOM Level 2 HTML,根据该标准,具有focus()方法的唯一元素是HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement和HTMLAnchorElement。值得注意的是,这省略了HTMLButtonElement和HTMLAreaElement。

当今的浏览器是focus()在HTMLElement上定义的,但是除非是以下元素之一,否则它实际上不会成为焦点:

  • 带有href的HTMLAnchorElement / HTMLAreaElement
  • HTMLInputElement / HTMLSelectElement / HTMLTextAreaElement / HTMLButtonElement但不支持disabled(如果尝试,IE实际上会给您一个错误),并且出于安全原因文件上传具有异常行为
  • HTMLIFrameElement(尽管集中精力没有任何用处)。其他嵌入元素也可能尚未全部测试。
  • 任何带有 tabindex

根据浏览器的不同,此行为可能还会有其他细微的例外和补充。

2020-05-10