2015-07-21 4 views
3

У меня есть приложение, использующее jQuery Mobile.Android-клавиатура скрывает текстовые входы

При тестировании на Chrome (на Android) при открытии клавиатуры некоторые входы, расположенные в нижней части страницы, автоматически перемещаются в верхнюю часть. Это поведение, которое я ожидаю.

Когда я добавляю этот веб-сайт в главный экран моего андроида, это поведение не работает, и все текстовые входы скрыты клавиатурой.

Я также заметил, что когда я снова открываю одно и то же приложение в Chrome, и после повторного использования приложения на основе Webview все в порядке. Входы больше не скрываются.

Вы уже видели этот номер?

Спасибо по заранее

+0

Да, у Chrome для браузера Android есть что-то встроенное для этого. Можете ли вы объяснить, что вы подразумеваете под (Когда я добавляю этот сайт в Домашний экран моего андроида)? что вы подразумеваете под (начальным экраном)? – Tasos

+0

Привет, я имею в виду эту функцию: http://www.google.fr/imgres?imgurl=http://3.bp.blogspot.com/-WVDN3YkA-mM/Uk3-Cr9BxCI/AAAAAAABMzY/VHP4q1LvGZs/s640/chrome -add к дому-screen.png & imgrefurl = HTTP: //googlesystem.blogspot.com/2013/10/add-shortcuts-to-web-apps-in-chrome-for.html&h=533&w=320&tbnid=9EBxZbIbExUlKM: & tbnh = 90 & tbnw = 54 & usg = __ Uo48-XW-Hr6b3ZyrZumCjlOljnc = & docid = IzUfIFy96IKJKM – Gillespie59

+0

, что весь поисковый ящик появляется при прокрутке вниз или внизу внизу всегда?в любом случае посмотрите на демонстрацию, созданную мной в ответ, возможно, этого вам будет достаточно. В противном случае это некоторые обходные пути – Tasos

ответ

2

Я создал демо для вас, как альтернативный

мне пришлось добавить пустое поле, чтобы создать некоторое пространство в нижней части, а затем переместить ввод до заголовка, когда вы сосредоточьтесь на вводе, потому что его внизу, поэтому нет прокрутки.

Demo

https://jsfiddle.net/fyom081o/

Код

$(document).on("focus", "#text-basic", function(event){ 
    var boxheight = $(window).height() - 40; 
    $("#mycontntent").append("<div id='blank' style='height:"+boxheight+"px;'"+"></div>"); 
$('html, body').animate({scrollTop: $('#text-basic').offset().top - 100}, 500); 
}); 

$(document).on("focusout", "#text-basic", function(event){ 
$('#blank').remove(); 
}); 
+0

Я попробую вашу демонстрацию. Спасибо. но все очень странно, все в порядке в режиме webapp, после посещения соответствующего сайта на хроме. Поэтому, возможно, ваше решение мы будем работать большую часть времени, но иногда мы добавим ваш пустой элемент в дополнение к по умолчанию по умолчанию для прокрутки компонента webview/keyboard. – Gillespie59

0

Пожалуйста, смотрите ответ от того, когда я поднял этот же вопрос ...

Jquery Mobile 1.4.5 virtual keyboard in the device hides the form inputs at the bottom of the page

Я открыл вопрос с JQM, и это ответ, который я получил. Оказывается, это ошибка браузера Chrome в полноэкранном режиме, не имеет ничего общего с JQM ...

Единственный способ, с помощью которого я мог бы попытаться обойти это, был бы чем-то вроде http://jsbin.com/kagidi/9/edit?html,css,output, который исправляет проблему на хромовом рабочем столе, однако это не совсем полное исправление имеет несколько проблем, которые не могут быть решены.

Невозможно узнать размер клавиатуры, и там, сколько высоты добавить к телу, на конкретном устройстве, тем более, если вы помните о специальных клавиатурах.

Это требует много UserAgent нюхают, чтобы заставить его работать правильно

Из-за этих проблем, это не совсем то, что мы хотели бы добавить в библиотеку я не думаю. Однако это может решить вашу проблему.

Смежные вопросы