完善tab页面定位

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了完善tab页面定位相关的知识,希望对你有一定的参考价值。

当我们用锚点定位到页面某个元素时,接下来按tab的话是想进入到目前元素( id="content")的下一个连接
<a href="#content">Skip to Content</a>

<!-- other links -->

<div id="content">
    <!-- your content here -->
</div>
但是chrome 和 ie 有问题,按tab是选中 skip to Content之后的那个连接,修复方法就是在定位之后选中 content,通过修改 tabIndex
window.addEventListener("hashchange", function(event) {

    var element = document.getElementById(location.hash.substring(1));     //location.hash.substring(1) 指的是被点击的连接的href中的content

    if (element) {

        if (!/^(?:a|select|input|button|textarea)$/i.test(element.tagName)) {
            element.tabIndex = -1;
        }

        element.focus();
    }

}, false); 
tabIndex的值,根据W3C的规定,范围在0到 32767,通常只有表单元素可以设为focus,但是通过把tabIndex设置为-1,并且调用元素的focus函数,任何元素也可以实现(除了opera)

以上是关于完善tab页面定位的主要内容,如果未能解决你的问题,请参考以下文章

JS-同页面多次调用tab选项卡封装

Sublime Text3自定义代码片段

常用的几个JQuery代码片段

.net做的网站,(例如textbox、button按键)不能用鼠标定位,只能用Tab,这是为啥

小程序做一个能够左右滑动切换的多tab页面

Android:使用Tab检测单个片段viewpager