Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable and re-enable tabindex of hidden/visible elements?

How can I change the tabindex of an element based on whether or not the element is visible (in view-able area)? I would like to do one of these things: reset the current tabindex upon entering a new section and assign new tabindex's to the elements in that section. Or be able to disable and re-enable tabindex's of certain elements.

html:

    <div id="nav">
        <a id="firstLink" href="#section1" tabindex="1">Go to section 1</a>
        <a id="secondLink" href="#section2" tabindex="2">Go to section 2</a>
    </div>
    <div id="container">
        <div id="section1">
            <a href="#" tabindex="3">Specific to section 1</a>
        </div>
        <div id="section2">
            <a href="#" tabindex="3">Specific to section 2</a>
        </div>
    </div>

I want the links to be in the tabbing order ONLY if their section is visible.

css:

    #container{
        overflow: hidden;
        width: 400px;
        height: 400px;
    }

    #section1{
        background: red;
        width: 400px;
        height: 400px;
    }

    #section2{
        background: green;
        width: 400px;
        height: 400px;
    }

​ Live example: http://jsfiddle.net/2UF3n/5/

like image 971
Jake Zeitz Avatar asked Sep 20 '12 19:09

Jake Zeitz


1 Answers

You can dynamically add or remove disabled="disabled" from any hidden field to make its tabindex value ignored.

$("a:hidden").attr("disabled","disabled");
like image 175
Tammy Shipps Avatar answered Oct 03 '22 12:10

Tammy Shipps