Mostrar o teclado virtual em celulares em javascript

Estou criando uma versão para celular do meu site. Há uma parte do site onde uma checkbox de diálogo aparece com uma input de texto. Normalmente eu usaria apenas o jQuery para trazer o foco para a input de texto, mas isso não está funcionando. Aqui está o que estou tentando:

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

Nenhum deles parece funcionar. Alguma ideia? Eu tenho testado no meu DroidX. Estou usando o jQuery Mobile, mas estou aberto a outras bibliotecas se elas ajudarem.

Você não pode, pelo menos não no iOS (iPhone), e eu acredito no Android também. É um problema de usabilidade que o teclado não deve ter permissão para ser acionado, exceto pela input do usuário (é apenas irritante se for automático).

Há algumas maneiras que conheço para contornar isso:

  • prompt() abre o teclado
  • Se você acionar o .focus() dentro de um evento .click() (por exemplo, abrindo sua checkbox de diálogo), o teclado aparecerá

$ (“# textinput”). focus ();

Abrir o teclado, definindo o foco para um elemento de input, só funcionará se o foco estiver definido dentro de um “contexto de usuário” (por exemplo, clique, mouse, mouseup).

A partir do “contexto de script” (setTimeout, retorno de chamada retornado de uma chamada ajax), o teclado não será exibido.

você pode usar:

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

você pode colocar esse código em alguma function que será acionada ao abrir alguma sobreposição ou quando o documento estiver pronto.