2010-11-04 5 views
0

Hé, juste une question rapide, j'utilisais la fonction de mise au point sur les éléments et cela semblait fonctionner correctement car cela fonctionnait dans IE7, IE8 et tous les bons navigateurs. Quand je l'ai essayé dans IE6 ... rien. C'est une ligne très basique.Focus fonctionne dans tous les navigateurs sauf IE6?

element.focus(); 

très de base. Est-ce que IE6 a un bug ou un problème avec cette fonction? Je sais que l'objet élément existe, j'ai testé pour tout cela et cela fonctionne dans tous les autres navigateurs.

Merci pour toute aide que vous pouvez donner.

+1

Vous ne devriez pas vous soucier de IE6, il est beaucoup trop obsolète. –

+0

Je sais, mais il a encore un pourcentage dans l'ensemble du navigateur utiliser camembert. C'est pour une bibliothèque donc il est important que ce soit aussi croisé que possible. Donc, IE a un bug, est-ce que ça ne marche pas? – Olical

+0

@Alexander. Dans mon domaine, IE6 est un navigateur très en vue en raison de cycles de mise à jour lente. Nous ne pouvons pas toujours choisir notre public cible. – jordanbtucker

Répondre

0

Créez-vous dynamiquement l'élément <input>? Stackoverflow pourrait déjà avoir la réponse.

Mise à jour

exécutant Windows XP SP3 avec IE6, je n'ai pas pu reproduire le problème que vous décrivez avec le fichier suivant:

<html> 
<head> 
<script type="text/javascript"> 
function body_load() { 
    document.getElementById("field2").focus(); } 
</script> 
</head> 
<body onload="body_load();"> 
<input type="text" id="field1"/> 
<input type="text" id="field2"/> 
</body> 
</html> 

Il a toujours l'accent mis sur field2 comme prévu. Le fichier suivant fonctionne comme prévu aussi:

<html> 
<body> 
<input type="text" id="field1"/> 
<input type="text" id="field2"/> 
<script type="text/javascript"> 
    document.getElementById("field2").focus(); 
</script> 
</body> 
</html> 

Utilisez-vous application/javascript comme type pour votre <script>? Je sais que IE6 a des problèmes avec ça. Peut-être publier un exemple qui peut reproduire le problème aidera à déterminer pourquoi cela ne fonctionne pas.

+0

Non, c'est là depuis le début. – Olical

+0

@Wolfy. J'ai mis à jour ma réponse. – jordanbtucker

+0

Eh bien, si vous téléchargez ma bibliothèque et lancez l'étincelle.html' la deuxième entrée sur la page devrait être mise au point. Cela devrait être un bon test, si cela fonctionne pour vous aussi, alors c'est mon navigateur. La bibliothèque peut être trouvée ici: https://github.com/Wolfy87/Spark – Olical

1

Cette question est très ancienne mais la même chose m'est arrivée récemment.

Cela fonctionne pour moi.

setTimeout(function() { 
    element.focus(); 
}, 10); 

espérons qu'il sera utile à tous ceux qui ont à souffrir avec IE6:

+0

Vous méritez une médaille. – Nicolai

Questions connexes