focus () funktioniert nicht im IE? - Lösung
Die focus () -Methode wird verwendet, um einem Textfeld oder anderen HTML-Komponenten den Fokus zu geben. Hier ist ein einfaches Beispiel, um ein Textfeld nach dem Laden der Seite automatisch zu fokussieren.
focus is not working in IE
+
The above code is working fine in Firefox (FF), but not in Internet Explorer (IE). Eigentlich unterstützt der IE die focus () -Methode, wir müssen nur eine andere Methode verwenden, um die focus-Methode zu schreiben.
Basierend auf meiner persönlichen Beobachtung liegt dies daran, dass der IE die focus () -Methode ausführt, bevor das Textfeld ordnungsgemäß gerendert wird. Wie auch immer das Javascript nach dem Textfeld eingefügt wird, die focus () -Methode soll ausgeführt werden, nachdem sich das Textfeld vollständig gerendert hat. Kann der IE es auf unterschiedliche Weise behandeln? Ja, IE hat immer eine "IE-ONLY" -Implementierung ...
Hier ist eine inoffizielle Lösung. Wir müssen die Funktion setTimeout () verwenden, um die Ausführungszeit von focus () zu verzögern.
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Nach Verzögerung der Ausführungszeit funktioniert focus () im IE oder sogar in FF einwandfrei.
focus is working in IE
+
Referenz
setTimeout () -http://www.w3schools.com/htmldom/met_win_settimeout.asp