tutorial online examples demos componentes javascript jquery jquery-mobile

online - Mostrar teclado virtual en teléfonos móviles en javascript



jquery mobile themes (3)

Estoy creando una versión móvil de mi sitio. Hay una parte del sitio donde aparece un cuadro de diálogo con una entrada de texto. Normalmente solo usaría jQuery para enfocar la entrada de texto, pero eso no funciona. Esto es lo que estoy intentando:

$("#textinput").focus(); $("#textinput").click(); $("#textinput").trigger("tap"); //jQuery Mobile

Ninguno de ellos parece funcionar. ¿Algunas ideas? Lo he estado probando en mi DroidX. Estoy usando jQuery Mobile pero estoy abierto a otras bibliotecas si me ayudan.


$ ("# textinput"). focus ();

Abrir el teclado configurando el foco en un elemento de entrada solo funcionará si el foco se establece dentro de un "contexto de usuario" (por ejemplo, clic, mousedown, mouseup).

Desde el "contexto de script" (setTimeout, devolución de llamada devuelta desde una llamada ajax), el teclado no se mostrará.


No se puede, al menos no en iOS (iPhone), y creo que también en Android. Es un problema de usabilidad que no se debe permitir que el teclado se active excepto por la entrada del usuario (es simplemente molesto si es automático).

Hay un par de formas que conozco para evitar esto:

  • prompt() abre el teclado
  • Si desencadena el .focus() desde dentro de un evento .click() (por ejemplo, al abrir su diálogo), aparece el teclado

puedes usar:

$(textFiled).trigger("focus");

puede poner este código en alguna función que se active al abrir alguna superposición, o cuando el documento esté listo.