2010-06-17 14 views
7

Gibt es eine Möglichkeit zu wissen, wohin der Fokus springen wird, wenn die Tabulatortaste gedrückt wird und ein bestimmtes Element den Fokus hat?HTML wo wird der Fokus weiter gehen, wenn ich Tab drücke?

var nextElement = whereWillFocusJumpTo(currentElement); 

Danke:

ich bin etwas zu denken auf diese Weise verwendet werden!

Antwort

6

Der Algorithmus die Tab-Reihenfolge für die Bestimmung ist hier: -

    http://dev.w3.org/html5/spec/editing.html#sequential-focus-navigation

Eines ist zu beachten, dass, wenn mehr als ein Element a hat tabindex von 0, die Reihenfolge der Tabs ist plattformabhängig. Sie sollten also sicherstellen, dass alle fokussierbaren Elemente auf Ihrer Seite einen Tabindex ungleich Null haben.

1

Vielleicht können Sie mit dem DOM die Eingaben auf der Seite auflisten und die Eigenschaft tabindex lesen.

0

Solange Sie den Tabindex für alle Objekte auf der Seite festgelegt haben, können Sie JavaScript verwenden, um das nächste Inkrement vom aktuellen Objekt zu finden.

+0

Verwenden Sie das Ereignis onblue(), um Ihr Objekt über die ID des Coontainers aufzurufen. Funktionsname (x) { var next = document.getElementById (x) .tabindex + 1 Von dort finden Sie nur das Element, das den nächsten tabindex -Wert hat – websch01ar

6

Verwenden Sie das TABINDEX-Attribut von HTML, um zu steuern, wohin der Tab geht.

<input name="email" tabindex="1"></input> 
<input name="phone" tabindex="2"></input> 
0

Ich glaube, Sie die jquery.Listen Bibliothek verwenden könnte dies zu erreichen.

Etwas wie folgt aus:

jQuery('table').listen('focusin', 'tr', function(){ 
    alert("you've focused on a row!"); 
}); 
1

Es wäre sehr kompliziert, dies über Skript zu tun, im Wesentlichen (typischerweise) Eingabearten (einschließlich Select, Textarea, Button) usw. zusammen mit Links (ein Tags) und Label-Tags an ein Input-Tag können fokussiert werden Wenn die Eigenschaft tabindex nicht festgelegt ist, wird das nächste Tag in Ihrem Markup, das einer der oben genannten Typen/Bedingungen ist, als nächstes fokussiert.

Verwandte Themen