Мы разрабатываем мобильное веб-приложение на jQuery Mobile 1.0.1 и Phonegap 1.4.1 и столкнулись с проблемами с клавиатурой на galaxy s2.
У нас есть меню, которое выдвигается и содержит ввод для поиска:
<input type="search" placeholder="Search..." name="search" id="menu_search" data-role="none" />
Когда мы нажимаем на ввод, чтобы он получил фокус, клавиатура открывается, но не позволяет нам вводить что-либо. что это дает нам обычную текстовую клавиатуру, а не клавиатуру поиска (с увеличительным стеклом в качестве клавиши ввода)
Если мы сфокусируем ввод при открытии меню: $ ("# menu_search"). focus ( )
- Клавиатура поиска открыта, когда отображается меню, и мы можем выполнять поиск, НО как только мы нажимаем на ввод, клавиатура меняется на обычную клавиатуру, и мы не можем ничего вводить.
Еще одна подсказка заключается в том, что при вводе с клавиатуры автопрогноз работает, но при выборе правильной опции к вводу добавляется только пробел и ни один из других символов.
Мы пробовали кучу других атрибутов на вводе поиска, но безрезультатно:
<input type="search" placeholder="Search..." name="search" id="menu_search" value="" data-role="none" autocomplete="off" autocorrect="off" autocapitalization="off" role="textbox" aria-autocomplete="list" aria-haspopup="true" style="-webkit-appearance:searchfield;" class="ui-autocomplete-input" />
Все это отлично работает на HTC Desire под управлением 2.2 и желании под управлением CM7 (Android 2.3.7)
Мы даже пытались изменить ввод в текстовое поле, но это почти то же самое: (
Я также пробовал:
$("#menu_search").live('focus',function(event){
event.preventDefault();
});
посмотреть, помешает ли это изменить клавиатуру, но тоже не повезло.
Однако у нас есть еще один поисковый элемент в другом месте приложения, который работает нормально, с той лишь разницей, что другой поиск находится на "соответствующей" странице: data-role = "page"
и в меню находится за пределами всех других страниц и изначально просто скрыт.
Пожалуйста, помогите, я плачу в банкомате кровью!