Эта проблема действительно раздражает.
Я объединил некоторые из вышеупомянутых методов и придумал следующее:
$(document).on('focus', 'input, textarea', function() {
$('.YOUR-FIXED-DIV').css('position', 'static');
});
$(document).on('blur', 'input, textarea', function() {
setTimeout(function() {
$('.YOUR-FIXED-DIV').css('position', 'fixed');
$('body').css('height', '+=1').css('height', '-=1');
}, 100);
});
У меня есть две фиксированные навигационные панели (верхний и нижний колонтитулы, используя Twitter начальной загрузки).
Оба действовали странно, когда клавиатура поднята, и снова странно, когда клавиатура нажата.
С этим временным / отложенным исправлением все работает. Время от времени я все еще нахожу сбой, но, кажется, этого достаточно, чтобы показать его клиенту.
Дайте мне знать, если это работает для вас. Если нет, мы можем найти что-то еще. Благодаря.