2010-06-17 16 views
7

¿Hay alguna manera de saber dónde saltará el foco cuando se presione la tecla de tabulación y cierto elemento tenga el foco?HTML ¿A dónde irá el foco si presiono tab?

Estoy pensando en algo para ser utilizado de esta manera:

var nextElement = whereWillFocusJumpTo(currentElement); 

Gracias!

Respuesta

6

El algoritmo para determinar el orden de tabulación está aquí: -

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

Una cosa a tener en cuenta es que si más de un elemento tiene una tabindex de 0, el orden de las pestañas depende de la plataforma, por lo que es posible que desee asegurarse de que todos los elementos enfocables en su página tengan un tabindex distinto de cero.

1

Quizás pueda usar el DOM para enumerar las entradas en la página y leer la propiedad tabindex.

0

Mientras haya configurado el tabindex para todos los objetos en la página, podrá usar javascript para encontrar el siguiente incremento del objeto actual.

+0

Use el evento onblue() para llamar a su objeto pasando la identificación del coontainer. nombre de la función (x) { var next = document.getElementById (x) .tabindex + 1 A partir de allí, simplemente encuentre el elemento que tiene el siguiente valor de tabindex – websch01ar

6

Utilice el atributo TABINDEX de HTML para controlar el destino de la pestaña.

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

Creo que podría utilizar la biblioteca jquery.Listen para lograr esto.

Algo como esto:

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

Sería muy complicado hacerlo mediante script, esencialmente (típicamente) tipos de entrada (incluyendo select, textarea, button) etc. junto con enlaces (etiquetas a) y etiquetas etiquetadas a una etiqueta de entrada pueden enfocarse , a menos que se establezca la propiedad tabindex, la próxima etiqueta en su marcado que sea uno de los tipos/condiciones anteriores será la siguiente enfocada.

Cuestiones relacionadas