簡體   English   中英

從Tab鍵順序中刪除HTML標記

[英]Remove HTML tag from tab order

在我的應用程序選項卡循環中, <html>標記占用制表位。 我想從tap循環中刪除<html>標簽。

我嘗試將tabindex="-1"<html>標簽,但至少在IE11上,似乎沒有從標簽循環中刪除該元素。 如果document.activeElement === <html> ,我接近於使用JS來“跳轉”到下一個可聚焦元素,但是我想知道是否有更簡單的方法。

需要跨主流瀏覽器支持該解決方案:IE11,Edge,FF,Chrome,Safari。

有任何想法嗎?

我訪問了tabindex屬性的HTML規范 - > https://html.spec.whatwg.org/#the-tabindex-attribute

以下是第二段:

省略該屬性時,用戶代理將應用默認值。 (如果沒有禁用或使其變為惰性,則無法使正在渲染的元素根本無法聚焦。)

正如清楚地提到的那樣,使任何元素不可聚焦的唯一方法是使其禁用或使其從DOM中不可見。

我仍在搜索並將發布此更新。

此外,我也試圖復制這個問題,並且無法在IE上執行此操作。(沒有嘗試在其他瀏覽器上復制)。

更新1:

在HTML4和HTML5之間找到了tabIndex區別

據說盡管HTML5允許在任何元素上添加tabIndex屬性,但它可能沒有任何效果。 這也適用於HTML元素。 我知道,我們如何知道HTML元素是否集中?

根據我的簡單研究,我發現你可以使用你可以使用tabindex="-1"

W3C HTML5規范支持負tabindex值。

您也可以使用,適用於大多數瀏覽器:

element.removeAttribute('tabindex');

我用jquery找到這種方式,但我不確定

$('#yourelment').prop('tabIndex', -1);

請查看這些鏈接了解更多詳情:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM