Heim  >  Artikel  >  Web-Frontend  >  Wie fokussiere ich ein geklontes Eingabefeld in IE und Opera?

Wie fokussiere ich ein geklontes Eingabefeld in IE und Opera?

Susan Sarandon
Susan SarandonOriginal
2024-10-31 13:23:01382Durchsuche

How to Focus a Cloned Input Field in IE and Opera?

Problem mit dem FOCUS-Eingabefeld in IE und Opera

Problem:

Der folgende Code schlägt fehl um das geklonte Eingabefeld in Internet Explorer 7 zu fokussieren:

function change() {
    var input = document.getElementById('pas');
    var input2 = input.cloneNode(false);
    input2.type = 'password';
    input.parentNode.replaceChild(input2, input);
    input2.focus();
}

Lösung für IE:

Internet Explorer ist bekanntermaßen „faul“, wenn es um das Fokussieren von Elementen geht. Um dieses Problem zu beheben, können Sie eine setTimeout-Funktion verwenden:

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

Lösung für Opera:

In Opera können Probleme beim Festlegen des Fokus auf erstellte Elemente auftreten dynamisch oder nach dem Laden der Seite angezeigt. Mögliche Lösungen finden Sie in den folgenden Ressourcen:

  • [So legen Sie den Fokus im erforderlichen Index auf das Textfeld für Opera fest](https://stackoverflow.com/questions/2099366/how-to-set- focus-in-required-index-on-textbox-for-opera)

Erweiterte Lösung:

Um Fälle zu behandeln, in denen das Element möglicherweise nicht verfügbar ist Ab sofort können Sie das folgende Snippet verwenden:

setTimeout(

    function( ) {

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

    }

, 10 ) ;

Dieser Code versucht alle 10 Millisekunden erneut, das Element zu fokussieren, bis es verfügbar wird, um potenzielle Probleme mit langsamem Laden oder verzögerter Elementerscheinung zu beheben.

Das obige ist der detaillierte Inhalt vonWie fokussiere ich ein geklontes Eingabefeld in IE 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