Jquery mobile 1.4 no iOS, os elementos fixos na parte inferior da página ocultam o texto de entrada no foco

Olá, estou construindo o aplicativo cordova 3 com o Jquery mobile 1.4.

O Safari e o Chrome no meu mac não têm problemas com o seguinte, mas quando implanto no dispositivo real ou no simulador do iOS e quero digitar os campos, os elementos fixos inferiores da página são movidos e sobrepostos aos elementos de entrada. O cursor está piscando na posição correta, onde está o campo de entrada, mas o controle deslizante do rodapé está ocultando-o.

Para simplificar, minha página fica assim:

[cabeçalho fixo] div com texto de entrada div com texto de entrada div com texto de entrada [rodapé fixo]

uma das instâncias de texto de entrada

<input data-role="none" class="inputCalc gray_br" type="text" id="grams4" value="37"><div class="macro_g">grams</div>

o controle deslizante na parte inferior

<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 para mostrar ocultar em foco e desfocar eventos

$(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();

});

Então, eu tenho tentado comfoco() eborrão() eventos para alternar (mostrar e ocultar) o controle deslizante. Funciona bem no Chrome e Safari.

Mas no dispositivo real (iPhone 5 iOS7) quando toco no campo de texto de entrada, o ciclo funciona como esperado apenas na primeira vez:

(1) recebo um registro de foco, o rodapé está oculto, (2) o teclado aparece e (3) posso digitar o texto de entrada.

Então (4), quando toco em CONCLUÍDO, o teclado é oculto e tudo bem. (5) Recebo um evento de desfoque no console e o rodapé com o controle deslizante é exibido novamente. Perfeito.

No entanto, se eu tocar novamente em qualquer um dos campos de texto de entrada, recebo um log de desfoque no console e não um foco conforme o esperado, e o controle deslizante volta novamente na frente do campo de entrada.

Como eu disse acima no Chrome, o Safary funciona perfeitamente.

Alguma outra idéia de como ativar / desativar o teclado, talvez sem manipuladores de eventos?

questionAnswers(1)

yourAnswerToTheQuestion