1

几个浏览器中的 tabindex 似乎存在一些问题,所以我想使用 javascript/jquery 解决这些问题。特别是 FF3.5 (Mac) 根本不接受 tabindex 或关注链接。我的网站上运行着 jquery 1.3.2 和 js-hotkeys 0.7.9。

我在 1 页上有 4 个表单,我可以使用链接在它们之间切换。现在,当页面加载时,我使用它的 id 来获得焦点的链接中的 1 个。然后我希望能够在每个链接之间切换以显示每个表单。

精简后的代码如下所示:

HTML

<nav id="postNav">
    <ul>    
        <li class="Nav1"><a href="#">1</a></li>
        <li class="Nav2"><a href="#">2</a></li>
        <li class="Nav3"><a href="#">3</a></li>
        <li class="Nav4"><a href="#">4</a></li>
    </ul>
</nav>

<form class="postForm" id="post1">
</form>

<form class="postForm" id="post2">
</form>

<form class="postForm" id="post3">
</form>

<form class="postForm" id="post4">
</form>

jQuery

$(document).ready(function(){               

    $("#postNav ul li a").click(function(event){
        var postOptionSelected = $(this).parent("li").attr("class").substr(3);
        $("form#post"+postOptionSelected).show();
            $("form.postForm:not(#post"+postOptionSelected+")").hide();
            event.preventDefault();
    });
});
4

2 回答 2

4

这不是 Firefox 问题。这是 Mac OS 的系统设置。在“系统偏好设置”、“键盘和鼠标”以及“键盘快捷方式”中,有一个完整的键盘访问设置,允许用户配置他们是否希望 Tab 启用将键盘焦点更改为仅文本框和列表或所有控件。默认情况下,它仅设置为文本框和列表。

Mac OS 上的 Safari 在 Safari、首选项、高级、按 Tab 以突出显示网页上的每个项目以覆盖此行为。

于 2009-07-10T04:53:48.600 回答
0

我认为您在“发布”之后忘记了“表格”:

    $("form#postForm"+postOptionSelected).show();
    $("form.postForm:not(#postForm"+postOptionSelected+")").hide();
于 2009-07-10T04:26:27.827 回答