Zobrazit virtuální klávesnici na mobilních telefonech v javascriptu

Vytvářím mobilní verzi svého webu. Je tu část webu, kde se objeví dialogové okno se zadáním textu. Normálně bych použil jQuery, abych se zaměřil na textový vstup, ale to nefunguje. Tady je to, o co se snažím:

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

Zdá se, že žádný z nich nefunguje. Nějaké nápady? Testoval jsem to na svém DroidX. Používám jQuery Mobile, ale jsem otevřený dalším knihovnám, pokud pomohou.

Odpověď

Nemůžete, alespoň ne v iOS (iPhone) a věřím, že i Androidu. Je to problém s použitelností, že klávesnici by nemělo být povoleno spouštět jinak než uživatelským vstupem (je to jen nepříjemné, pokud je to automatické).

Znám několik způsobů, jak to obejít:

  • prompt() otevře klávesnici
  • Pokud spustíte .focus() z .click() událost (např. od otevření vašeho dialogu), zobrazí se klávesnice