keyboard - enfoque de entrada en jquery mobile, pero el teclado no aparece
jquery-mobile cordova (5)
Estoy usando jquery, jquery mobile y phonegap. Quiero mostrar el teclado esta página con input type = "text".
<section id="page1" data-role="page">
<header data-role="header">
<h1>jQuery Mobile</h1>
</header>
<div data-role="content" class="content">
<input type="text" placeholder="입력하세요" />
</div>
</section>
y mi guion es
$(document).ready(function(){
$(''input'').select();
$(''input'').focus();
});
El campo de texto está enfocado pero el teclado no se muestra, y se inicia cuando se hace clic en input type = "text". ¿Cómo puedo forzar el lanzamiento del teclado en javascript o usar el complemento de Phonegap?
Ninguna de las soluciones anteriores funcionó para mí. Sin embargo, noté que $ (''textarea''). Focus (). Select (); funcionó después de acceder a la página por segunda vez. Por lo tanto, obligo al móvil jquery a recuperar datos en mi página de cuadro de comentarios.
Este es mi código de inicialización de JQM genérico (que no funciona sin ''data-prefetch''):
$(''#comment-box-page'').live(''pageshow'', function () {
$(''textarea'').focus().select();
});
En la página de la lista hay una imagen falsa de un pequeño cuadro de texto, que redirige a comment-box.html, que es solo una gran área de prueba con los botones publicar y cancelar.
<div data-role="footer" data-position="fixed" data-theme="b" data-tap-toggle="false">
<div data-role="fieldcontain">
<a href="comment-box.html" data-prefetch><img src="fake-textfield.jpg"/>
</a>
</div>
</div>
- data-prefetch es lo que marca la diferencia. Cuando hace clic en el enlace, la página se comportará como lo estaba la segunda vez que la visitó, lo que permite enfocar y subir el teclado.
Tienes que usar el evento "hacer clic" para abrir el teclado:
$(document).live(''click'', function() {
$("#input-element-id").focus();
});
Utilizo esto en cordova 6 para la aplicación móvil android y sus trabajos:
-install cordova plugin keyboard: cordova plugin add cordova-plugin-keyboard
-Entonces puede usar Keyboard.show () para mostrar el teclado y keyboard.hide () para ocultarlo
Puedes hacer esto para mostrar el teclado:
$("#your_text_input").click(function () { $(this).focus(); Keyboard.show(); }); $(''#your_text_input'').keydown(function(e) { if (e.which == 13) { //Enter keycode //your action ... // Now clear input and set focus back to input Keyboard.hide(); $(this).val('''').trigger("keyup").focus(); } });
no puedes el navegador móvil no muestra el teclado si enfoca un elemento de entrada. El usuario tiene que tocar el elemento de entrada.
$("input").bind( "blur", function () {
$(".ui-header-fixed" ).css("top","0 !important");
});