android keyboard
всем привет
как на js перехватить событие появления виртуальной клавы т.е. кликнули на инпут, появилась клава... вызвали такуюто функцию в версии андроида 2.2 она открывается по верх контента, а в версии 2.3.3 она как будто толкает контент снизу, и документ становиться совсем маленьким по высоте... |
А что мешает реагировать на фокус инпута?
|
ниче не мешает, я так и делал
дело в том что инпут c autocomplete после выбора из предложенного списка значения, фокус из поля пропадает, и появляются элементы которые скрывались по onfocus, а клава остается и места на странице от силы пикселей 20, потому как все место занимается нижним и верхним тулбарами есть у меня подозрения что js не имеет доступа к api ф-я клавиатуры p.s. по onfocus я прятал нижний бар |
Ну да, виртуальная клавиатура на андроидах не всегда ведет себя корректно.
Такой сомнительный вариант. А при появившейся клавиатуре размеры окна меняются? Может их проверять на изменение? Правда, надо предусмотреть поворот экрана в таком случае. |
Решил проблему, есть реакция на изменение размеров окна.
правда проверял на onresize в пятницу, никакой реакции не было - конец рабочей недели наверное сказывался... вот что получилось
var dH; //высота окна браузера
var orient = false; //переключатель, меняется при смене положения девайса горизонт/вертикаль
$(function(){
dH = $(".container").height(); //высота окна браузера после загрузки страницы
});
window.onorientationchange = function(){
orient = true;
}
$(window).resize(function(){
if(orient){
dH = $(".container").height();
orient = false;
return;
}
var h = $(".container").height(); //текущая высота
if(h < dH){
//клавиатура появилась
}else{
//клавиатура спряталась
}
});
|
| Часовой пояс GMT +3, время: 22:50. |