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, время: 10:35. |