jquery tabindex / focus&热键

时间:2009-07-10 04:23:03

标签: javascript jquery focus tabindex hotkeys

在几个浏览器中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();
    });
});

2 个答案:

答案 0 :(得分:4)

这不是Firefox问题。这是Mac OS的系统设置。在“系统偏好设置”中,键盘&amp;鼠标和键盘快捷键,有一个全键盘访问设置,允许用户配置他们是否希望使用Tab键将键盘焦点更改为仅文本框和列表或所有控件。它默认设置为文本框和列表。

Mac OS上的Safari在Safari,偏好设置,高级设置中有一个设置,按Tab键突出显示网页上的每个项目以覆盖此行为。

答案 1 :(得分:0)

我想你忘记了“帖子”之后的“表格”:

    $("form#postForm"+postOptionSelected).show();
    $("form.postForm:not(#postForm"+postOptionSelected+")").hide();