jQuery .hide () для .blur () не работает в веб-приложении iOS

0

У меня есть веб-приложение, которое скрывает нижнюю панель инструментов при наборе текста, чтобы остановить его на клавиатуре.

$(document).ready( function() {
    $("#open").focus( function() {
        $('#bottom').hide();
    });
    $("#open").blur( function() {
        $('#bottom').show();
        check();
    });
});

$('#open'); является полем <input>.

Вместо того, чтобы скрываться, нижняя панель остается. Текст "загрузка" также появляется внизу (по какой-то причине). Это особенно странно, поскольку я не могу найти его в DOM при осмотре на своем компьютере.

Ссылка: www.scriptr.net/webapp

Теги:
event-handling
web-applications

2 ответа

1

Попробуйте прослушивать другое готовое событие для мобильных устройств. Что-то вроде этого

document.addEventListener("deviceready",onReady,false);


function onReady() {
   $("#open").focus( function() {
       $('#bottom').hide();
   });

   $("#open").blur( function() {
       $('#bottom').show();
       check();
   });
}
0

просто поместите этот код на функцию deviceReady, работайте со мной

 document.addEventListener('focusout', function(e) {window.scrollTo(0, 0)});
                                        function isTextInput(node) {
                                        return ['INPUT', 'TEXTAREA'].indexOf(node.nodeName) !== -1;
                                        }

                                        document.addEventListener('touchstart', function(e) {
                                                                  if (!isTextInput(e.target) && isTextInput(document.activeElement)) {
                                                                  document.activeElement.blur();
                                                                  }
                                                                  }, false);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню