Heim > Artikel > Web-Frontend > Warum funktioniert „focus()“ nicht in Internet Explorer und Opera?
Fokussieren von Eingabefeldern in Internet Explorer und Opera
Bei der Verwendung der focus()-Methode in JavaScript können in bestimmten Browsern einige Probleme auftreten. Diese Frage weist auf ein Problem hin, bei dem focus() in Internet Explorer 7 nicht funktioniert und der Cursor außerhalb des gewünschten Eingabefelds bleibt.
Lösung für Internet Explorer:
In Internet Explorer, focus() erfordert aufgrund seiner trägen Natur etwas zusätzliche Aufmerksamkeit. Um dieses Problem zu beheben, verwenden Sie die Funktion setTimeout(). Zum Beispiel:
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Lösung für Opera:
Erwägen Sie für Opera die Suche nach Lösungen im Zusammenhang mit dem Festlegen des Fokus im erforderlichen Index für das Textfeld.
Verbesserte Handhabung bei verzögerter Elementverfügbarkeit:
In einigen Fällen ist das Element möglicherweise nicht sofort verfügbar, was zu einem nicht fokussierten Eingabefeld führt. Um dieses Problem zu beheben, versucht der folgende verbesserte Code den Fokus nach einem kurzen Intervall erneut:
setTimeout( function( ) { var el = document.getElementById( "myInput" ) ; ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ; } , 10 ) ;
Das obige ist der detaillierte Inhalt vonWarum funktioniert „focus()“ nicht in Internet Explorer und Opera?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!