javascript - 为表行设置 tabIndex 在 IE8 中不起作用

标签 javascript jquery internet-explorer-8

这是我的示例表格格式:

这是我为 <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 属性仅限于一组较小的 focusable 元素,这些元素不包括表格行。我怀疑您面临的问题可能就是这种情况,但在对 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 按预期运行。

enter image description here

那么问题可能是什么?检查你的 jQuery 版本; jQuery 2.x 版本不支持 Internet Explorer 8。如果您想支持已有五年历史的浏览器,则需要使用 jQuery 1.x 版本。

关于javascript - 为表行设置 tabIndex 在 IE8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27220410/

相关文章:

jquery - 进行异步 ajax 调用时,加载动画在 IE7 中卡住,有时在 IE8 中卡住

html - IE8 中的表格 tbody 滚动

javascript - 选择所有不包含 "li"的 "ul"

javascript - Discord.js v12.1.1 的 Spotify 命令

javascript - 正确卸载 react 组件

javascript - Jquery 不将事件绑定(bind)到 ajax 添加的 dom

javascript - 如何在模式中使用 pickadate.js 显示已经打开的日期选择器?

javascript - 将数据从 Angular 形式传递到另一个 Controller

javascript - 使用 .attr() 与 .get() 问题

html - 空白区域上的跨度光标样式。 IE8问题