2014-11-25 12 views
6

Próbuję reagować na klawiaturę ekranową w naszych aplikacjach internetowych. Niestety są pewne komplikacje:Czy zdarzenie javascript jest wywoływane po otwarciu klawiatury ekranowej w mobilnym safari lub chrome?

Przede wszystkim aplikacja musi działać na równych prawach na platformach mobilnych (tablety) i desktopach. Ponadto przewijanie dokumentu/treści jest zabronione, a jeszcze bardziej urozmaicać tryb krajobrazu na tabletach.

Tak więc, jeśli ktoś wybierze dowolne pole wprowadzania danych, klawiatura ekranowa otworzy się i zablokuje widok na połowie strony, w związku z tym niektóre wejścia staną się niewidoczne i muszę to zmienić.

Niestety wygląda na to, że w ogóle nie ma zdarzenia, co oznacza, że ​​połowa aplikacji stała się niewidoczna. Już sprawdziłem przewijanie i zmienianie rozmiaru zdarzeń, ale one również się nie uruchamiały.

Oczywiście, zawsze mogłem zareagować, gdy tylko na pewno znajdę się na tablecie. Prawdopodobnie 95% użytkowników i tak nie będzie podłączać klawiatury sprzętowej. Ale czy nie ma żadnego czystszego sposobu?

Odpowiedz

1

Czy spróbować ostrości wydarzenie?

Dzięki temu można blokować minimalną wysokość formularza (lub innego elementu rodzica) klasą po wyświetleniu klawiatury, a użytkownik może przewijać ekran dotykowy po wybraniu wejścia.

Szukałem podobnego problemu, a ta sztuczka rozwiązuje moją sprawę. =)

Powiązane problemy