Привет, я создаю приложение Cordova 3 с JQuery Mobile 1.4.
Safari и Chrome на моем Mac не имеют проблем со следующим, но когда я развертываю на реальном устройстве или симуляторе iOS и хочу ввести поля, я получаю нижние фиксированные элементы страницы, перемещающиеся вверх и перекрывающие элементы ввода. Курсор мигает в правильном месте, где находится поле ввода, но ползунок футера его скрывает.
Для упрощения моя страница выглядит так:
[верхний колонтитул исправлен] div с входным текстом div с входным текстом div с входным текстом [нижний колонтитул исправлен]
один из экземпляров входного текста
<input data-role="none" class="inputCalc gray_br" type="text" id="grams4" value="37"><div class="macro_g">grams</div>
ползунок внизу
<div id="cal_slider" style="position:fixed; bottom:0px; left:0px; height:57px; width:100%; background-color:#E2E2E2;">
<form style="padding-top:6px" class="full-width-slider"><label for="slider-12" class="ui-hidden-accessible">Slider:</label> <input type="range" data-highlight="true" name="slider-12" id="slider-12" min="0" max="100" value="50"></form>
</div>
Jquery, чтобы показать события скрытия фокуса и размытия
$(document).on('focus', 'input , text', function(e){
// I have try with --> $("#grams4").focus( function () {... // but it's the same
console.log("on focus fired");
$("#cal_slider").hide();
});
$(document).on('blur', 'input, text', function(e){
console.log("on blur fired");
$("#cal_slider").show();
});
Поэтому я пытался с помощью событий focus() и blur() переключать (показывать и скрывать) ползунок. Он отлично работает в Chrome и Safari.
Но на реальном устройстве (iPhone 5 iOS7), когда я касаюсь текстового поля ввода, цикл работает, как и ожидалось, только в первый раз:
(1) я получаю журнал фокуса, нижний колонтитул скрыт, (2) появляется клавиатура и (3) я могу ввести вводимый текст.
Затем (4), когда я нажимаю ГОТОВО, клавиатура скрывается, и все в порядке. (5) Я получаю событие размытия в консоли, и снова отображается нижний колонтитул с ползунком. Идеально.
Однако, если я снова нажму на любое из текстовых полей ввода, я получу журнал размытия в консоли, а не фокус, как ожидалось, и ползунок снова вернется перед полем ввода.
Как я уже говорил выше, в Chrome Safary работает отлично.
Любые другие идеи, как определить включение/выключение клавиатуры, возможно, без обработчиков событий?
bottom: 0px
вы на самом деле прячете ползунок под нижним колонтитулом. - person Omar   schedule 16.01.2014data-tap-toggle="true"
? - person Omar   schedule 16.01.2014