2010-06-15 5 views
1

J'ai utilisé un tabindex dans mon code, tout va bien ses travaux finr dans Firefox, ie8, safari mais ça ne fonctionne pas correctement dans ie7, quand j'ai utilisé un index de tabulation dans ie7 ça monte à deux fichiers d'entrée, puis revenir à l'index un;Tabindex ne fonctionne pas dans ie 7

exemple:

<div tabindex=1> 
    <a onclick="slide_down()" style="cursor:pointer;width:160px; padding-bottom:10px;" >sample link</a> 
</div> 
<div tabindex=2> 
    <a onclick="slide_down()" style="cursor:pointer;width:160px; padding-bottom:10px;" >sample link1</a> 
</div> 
<div tabindex=3> 
    <a onclick="slide_down()" style="cursor:pointer;width:160px; padding-bottom:10px;" >sample link2</a> 
</div> 

Merci

Répondre

1

Tabindex est pas autorisée sur une balise div. Essayez de le mettre dans votre lien:

<div> 
    <a tabindex="1" onclick="slide_down()" style="cursor:pointer;width:160px; padding-bottom:10px;" >sample link</a> 
</div> 
0

utilisez un DOCTYPE vous? Étant donné que tabindex n'est pas pris en charge dans la balise DIV, la couche de compatibilité IE7 peut activer ou désactiver l'attribut basé sur DOCTYPE.

De HTML 4 spécification:

Les éléments suivants prennent en charge l'attribut tabindex : A, AREA, BUTTON, INPUT, OBJECT, SELECT et TEXTAREA.

http://www.w3.org/TR/REC-html40/

2

Comme de IE5 tout élément peut avoir une tabindex. Tous les navigateurs actuels implémentent maintenant ce comportement, et votre exemple original fonctionnera correctement dans Opera, Firefox et Webkit.

Mais je ne sais pas pourquoi votre exemple ne fonctionne pas dans IE7, car il devrait. Passer à un lien est une solution pragmatique et le corrigera, mais ne devrait pas être nécessaire.

Vous pouvez essayer programatically une nouvelle demande en utilisant le nom de la propriété en CamelCase (qui est requis par les anciennes versions IE pour les valeurs-attributs définir la plupart):

myDiv.setAttribute('tabIndex', '0'); 
1

Assurez-vous que vous utilisez « tabIndex » avec "I" majuscule et non "tabindex"