У меня есть веб-приложение, которое скрывает нижнюю панель инструментов при наборе текста, чтобы остановить его на клавиатуре.
$(document).ready( function() {
$("#open").focus( function() {
$('#bottom').hide();
});
$("#open").blur( function() {
$('#bottom').show();
check();
});
});
$('#open');
является полем <input>
.
Вместо того, чтобы скрываться, нижняя панель остается. Текст "загрузка" также появляется внизу (по какой-то причине). Это особенно странно, поскольку я не могу найти его в DOM при осмотре на своем компьютере.
Ссылка: www.scriptr.net/webapp
Попробуйте прослушивать другое готовое событие для мобильных устройств. Что-то вроде этого
document.addEventListener("deviceready",onReady,false);
function onReady() {
$("#open").focus( function() {
$('#bottom').hide();
});
$("#open").blur( function() {
$('#bottom').show();
check();
});
}
просто поместите этот код на функцию 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);