簡體   English   中英

設置表行的tabIndex在IE8中不起作用

[英]setting tabIndex for table row not working in IE8

這是我的示例表格式:

這是我為<tr>動態設置tabIndex的代碼(完全適用於Chrome和FF但不適用於IE 8):

<html>
    <head>
        <script src="jquery-1.10.2.js"></script>
        <style>
            td {
                color: blue;
            }
            :focus {
                color: red;
            }
        </style>
        <script>
            $(document).ready(function() {
                $("tr").attr( "tabIndex", function ( i ) {
                    return i + 1;
                });
            });
        </script>
    </head>
    <body>
        <table>
            <thead></thead>
            <tbody>
                <tr><td>Five</td></tr>
                <tr><td>Four</td></tr>
                <tr><td>Three</td></tr>
                <tr><td>Two</td></tr>
                <tr><td>One</td></tr>
            </tbody>
        </table>
    </body>
</html>

任何人都可以幫助如何修復表格行上的設置tabIndex,這對於瀏覽器都有效,特別是在IE8上?

在HTML 4.01中, tabIndex屬性僅限於較小的一組不包含表行的可聚焦元素。 我懷疑這可能是你所面臨的問題,但在JSFiddle上進行單一測試后,我發現IE 8實際上是在適當地處理代碼。

這是我站起來測試問題的快速演示:

<table>
    <tr><td>Five</td></tr>
    <tr><td>Four</td></tr>
    <tr><td>Three</td></tr>
    <tr><td>Two</td></tr>
    <tr><td>One</td></tr>
</table>
:focus {
    background: yellow;
}
$("tr").attr( "tabIndex", function ( i ) {
    return 5 - i;
});

正如你在下面的GIF中看到的那樣,IE 8按預期工作。

在此輸入圖像描述

那么問題是什么呢? 檢查你的jQuery版本; jQuery 2.x版本不支持Internet Explorer 8.如果您想支持半年前的瀏覽器,則需要使用jQuery 1.x版本。

暫無
暫無

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

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