在我的应用的标签循环中,<html>
标签占据了一个制表位。我想从点击循环中删除<html>
标签。
我尝试将tabindex="-1"
添加到<html>
标记中,但是至少在IE11上,这似乎并未从Tab循环中删除该元素。我快要用JS旋转自己的逻辑,如果document.activeElement === <html>
跳到下一个可聚焦元素,但是我想知道是否有更简单的方法。
该解决方案需要跨主要浏览器支持:IE11,Edge,FF,Chrome,Safari。
有什么想法吗?
答案 0 :(得分:3)
我访问了tabindex属性的HTML规范-> https://html.spec.whatwg.org/#the-tabindex-attribute
下面是第二段:
我们已经清楚地提到,使任何元素不可聚焦的唯一方法是禁用或使其在DOM中不可见。
我仍在搜索,并将在此发布更新。
此外,我还尝试复制此问题,但无法在IE上做到这一点。(未尝试在其他浏览器上进行复制)。
我找到了difference in tabIndex between HTML4 AND HTML5:
据说,尽管HTML5允许在任何元素上添加tabIndex属性,但可能没有任何效果。这也适用于HTML元素。我知道,我们如何知道HTML元素是否为焦点?
答案 1 :(得分:0)
根据我的简单研究,我发现您可以使用您可以使用tabindex="-1"
。
W3C HTML5规范支持负的tabindex值。
您也可以使用,该功能适用于大多数浏览器:
element.removeAttribute('tabindex');
我在jquery中找到了这种方式,但是我不确定
$('#yourelment').prop('tabIndex', -1);
请查看那些链接以获取更多详细信息:
答案 2 :(得分:-1)
在Chrome v53中,诸如“ tabIndex = -1”之类的黑客不适用于我。
这适用于chrome和大多数浏览器:
element.removeAttribute('tabindex');