Heim > Web-Frontend > CSS-Tutorial > Wie kann verhindert werden, dass feste Elemente in Mobile Safari mit virtuellen Tastaturen springen?

Wie kann verhindert werden, dass feste Elemente in Mobile Safari mit virtuellen Tastaturen springen?

Patricia Arquette
Freigeben: 2024-10-27 07:41:31
Original
991 Leute haben es durchsucht

How to Prevent Fixed Elements from Jumping in Mobile Safari with Virtual Keyboards?

Fehlerhafte feste Elemente in Mobile Safari mit virtueller Tastatur

Der Umgang mit festen Elementen in Mobile Safari kann eine Herausforderung sein, insbesondere wenn eine virtuelle Tastatur vorhanden ist wird geöffnet. Ein häufiges Problem tritt auf, wenn ein festes Navigationselement unerwartet springt, wenn ein Eingabefeld innerhalb der Navigation den Fokus erhält.

Ursache und Lösung

Dieses Verhalten ist wahrscheinlich auf ein bekanntes Problem zurückzuführen Problem in Mobile Safari. Die vorgeschlagene Lösung beinhaltet die dynamische Änderung der Positionierung fester Elemente.

  • Wenn ein Eingabeelement den Fokus erhält und die virtuelle Tastatur angezeigt wird, ändern Sie die Positionseigenschaft der festen Elemente auf absolut.
  • Stellen Sie die ursprüngliche feste Positionierung wieder her, sobald das Eingabeelement den Fokus verliert und die Tastatur ausgeblendet wird.

Codeausschnitt

Der folgende Codeausschnitt veranschaulicht diese Lösung:

.header { 
    position: fixed; 
} 
.footer { 
    position: fixed; 
} 
.fixfixed .header, 
.fixfixed .footer { 
    position: absolute; 
} 
Nach dem Login kopieren
if ('ontouchstart' in window) {
    /* cache dom references */ 
    var $body = $('body'); 

    /* bind events */
    $(document)
    .on('focus', 'input', function() {
        $body.addClass('fixfixed');
    })
    .on('blur', 'input', function() {
        $body.removeClass('fixfixed');
    });
}
Nach dem Login kopieren

Durch das Hinzufügen dieses Codes bleibt das Navigationselement am unteren Rand der Seite fixiert, auch wenn der Benutzer mit dem Eingabefeld interagiert und die virtuelle Tastatur erscheint.

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass feste Elemente in Mobile Safari mit virtuellen Tastaturen springen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage