Как прослушивать открытие / закрытие клавиатуры в Javascript / Sencha?

У меня есть приложение HTML5 / Javascript (Sencha), которое я упаковал в PhoneGap для iOS в XCode. Так или иначе, я хочу иметь возможность прослушивать события открытия / закрытия клавиатуры и делать что-то соответственно. Есть ли способ сделать это?

12
задан Groppe 23 November 2011 в 11:35
поделиться

1 ответ

Другой потенциал (но очень hacky) решение состоит в том, чтобы наблюдать, что окно изменяет размеры события. Это не будет работать на все примеры использования, но по смартфонам не настолько распространено изменить размеры окна, поэтому измените размеры событий, вероятно, прибудут из открытия клавиатуры. Этот код не тестируется, но он иллюстрирует общее представление:

let fullWindowHeight = window.innerHeight;
let keyboardIsProbablyOpen = false;

window.addEventListener("resize", function() {
  if(window.innerHeight == fullWindowHeight) {
    keyboardIsProbablyOpen = false;
  } else if(window.innerHeight < fullWindowHeight*0.9) {
    keyboardIsProbablyOpen = true;
  }
});

Могло бы быть полезным для использования вместе с событиями фокуса/размытости, чтобы помочь (например), обнаружить закрытие клавиатуры, когда пользователь нажимает кнопку "Назад" (как указано @filipvkovic).

1
ответ дан 2 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: