focus () ne fonctionne pas dans IE? - Solution

focus () ne fonctionne pas dans IE? - Solution

La méthode focus () est utilisée pour donner le focus à une zone de texte ou à d'autres composants html. Voici un exemple simple pour mettre automatiquement le focus sur une zone de texte après le chargement de la page.

focus is not working in IE
+

The above code is working fine in Firefox (FF), but not in Internet Explorer (IE). En fait, l'IE supporte la méthode focus (), nous avons juste besoin d'utiliser une autre façon d'écrire la méthode focus.

Basé sur mon observation personnelle, c'est parce que IE exécute la méthode focus () avant le rendu de la zone de texte correctement. Cependant, le Javascript est placé après la zone de texte, la méthode focus () suppose qu'elle s'exécute après le rendu complet de la zone de texte, peut-être IE le traiter de différentes manières? Oui, IE a toujours une implémentation «IE-ONLY»…

Voici une solution non officielle, nous devons utiliser la fonction setTimeout () pour retarder le temps d'exécution de focus ().

setTimeout(function() { document.getElementById('myInput').focus(); }, 10);

Après avoir retardé le temps d'exécution, le focus () fonctionne correctement dans IE, voire FF.

focus is working in IE
+