Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert Focus() im IE nicht und wie kann ich das Problem beheben?

Warum funktioniert Focus() im IE nicht und wie kann ich das Problem beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 06:41:02662Durchsuche

Why Doesn't Focus() Work in IE and How Can I Fix It?

Fokus funktioniert nicht im IE: Eine Lösung

In einer Situation, in der die Funktion focus() in IE7 nicht funktioniert, wird ein Ein alternativer Ansatz ist erforderlich, um den Cursor innerhalb des Eingabefelds zu positionieren.

Um dieses Problem im IE zu beheben, nutzen Sie die Funktion setTimeout aufgrund ihres verzögerten Ausführungsverhaltens. Implementieren Sie den folgenden Code:

<code class="javascript">setTimeout(function() { document.getElementById('myInput').focus(); }, 10);</code>

Dieser Code leitet eine Verzögerung von 10 Millisekunden ein, bevor die Funktion focus() ausgeführt wird, um der verzögerten Antwort des IE Rechnung zu tragen.

Das Problem kann jedoch in Opera weiterhin bestehen. Erwägen Sie die Erkundung möglicher Lösungen zum Festlegen des Fokus in Opera.

Eine erweiterte Lösung, die auf Situationen zugeschnitten ist, in denen das Element möglicherweise nicht ohne weiteres verfügbar ist, besteht darin, es mit einer kurzen Verzögerung erneut zu versuchen, bis das Element zugänglich wird. Dies stellt die Kompatibilität mit langsam ladenden Seiten oder Elementen sicher, deren Laden einige Zeit in Anspruch nimmt. Implementieren Sie den folgenden Code:

<code class="javascript">setTimeout(

function( ) {

    var el = document.getElementById( &quot;myInput&quot; ) ;
    ( el != null ) ? el.focus( ) : setTimeout( arguments.callee , 10 ) ;

}

, 10 ) ;</code>

Dieser Code richtet eine rekursive setTimeout-Funktion ein, die die Verfügbarkeit des Elements prüft und alle 10 Millisekunden versucht, sich darauf zu konzentrieren, bis dies erfolgreich ist.

Das obige ist der detaillierte Inhalt vonWarum funktioniert Focus() im IE nicht und wie kann ich das Problem beheben?. 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