Как определить, открыта ли клавиатура в текущий момент на телефоне.
Иногда, для улучшения юзабилити, нам нужно определить в каком состоянии клавиатура смартфона.
Вариант для jQuery

$(function () {
    initialScreenSize = screen.height, // Текущая высота экрана
        intId = window.setInterval(function () { // Проверяем еще 800 ms 
            if (check()) {
                addClass();
            } else {
                removeClass();
            }
            ;
        }, 800);

    function check() { // сама проверка соответствия
        var kbactive = screen.height;
        if (initialScreenSize !== kbactive) {
            addClass();
            return true;
        } else {
            removeClass();
            return false;
        }
    }

    function addClass() {
        $('body').addClass('keyboard-active');
    }

    function removeClass() {
        $('body').removeClass('keyboard-active');
    }
})

Данный хак добавляет к body класс, в случае, если у пользовтаеля открыта клавиатура.

Голосов  (1)
Об авторе

Веб-разработчик. Работа с проектами простой и средней сложности. Верстка, программирование. Simpla, Drupal, Wordpress.

Смотреть посты