Existe algum evento javascript disparado quando o teclado na tela do Safari ou Chrome para dispositivos móveis é aberto?

Eu tento reagir ao teclado na tela em nossos aplicativos da web. Infelizmente, existem algumas coisas que complicam isso:

Primeiro de tudo, o aplicativo deve ser executado igualmente em plataformas móveis (tablets) e desktops. Além disso, a rolagem do documento / corpo é proibida e, para apimentar ainda mais, o modo paisagem é obrigatório nos tablets.

Portanto, se alguém seleciona algum campo de entrada, o teclado na tela se abre e bloqueia a visão na metade da página; portanto, algumas entradas ficam invisíveis e preciso alterar isso.

Infelizmente, parece que não há nenhum evento disparado, o que indica que metade do aplicativo ficou invisível. Eu já verifiquei os eventos de rolagem e redimensionamento, mas eles também não foram acionados.

Claro, eu sempre poderia reagir de alguma forma assim que tiver certeza de estar em um tablet. Provavelmente 95% dos usuários não conectarão um teclado de hardware de qualquer maneira. Mas não existe uma maneira mais limpa?

questionAnswers(3)

yourAnswerToTheQuestion