Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert „focus()“ nicht in Internet Explorer und Opera?

Warum funktioniert „focus()“ nicht in Internet Explorer und Opera?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-31 09:29:30993Durchsuche

Why Doesn't `focus()` Work in Internet Explorer and 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn