Je crée une version mobile de mon site. Il y a une partie du site où une boîte de dialogue apparaît avec une entrée de texte. Normalement, j'utiliserais simplement jQuery pour mettre l'accent sur la saisie de texte, mais cela ne fonctionne pas. Voici ce que j'essaie:
$("#textinput").focus();
$("#textinput").click();
$("#textinput").trigger("tap"); //jQuery Mobile
Aucun ne semble fonctionner. Des idées? Je l'ai testé sur mon DroidX. J'utilise jQuery Mobile mais je suis ouvert à d'autres bibliothèques si elles aident.
Vous ne pouvez pas, du moins pas dans iOS (iPhone), et je crois aussi Android. C'est un problème d'utilisation que le clavier ne devrait pas être autorisé à être déclenché sauf par une entrée utilisateur (c'est juste ennuyeux si c'est automatique).
Je connais deux façons de contourner ce problème:
Prompt()
ouvre le clavier.focus()
à partir d'un événement .click()
(par exemple à partir de l'ouverture de votre boîte de dialogue), le clavier s'affiche$ ("# textinput"). focus ();
L'ouverture du clavier en définissant le focus sur un élément d'entrée ne fonctionnera que si le focus est défini dans un "contexte utilisateur" (par exemple, clic, souris, souris).
Dans le "contexte de script" (setTimeout, rappel renvoyé d'un appel ajax), le clavier ne s'affiche pas.
vous pouvez utiliser:
$(textFiled).trigger("focus");
vous pouvez mettre ce code dans une fonction qui se déclenchera à l'ouverture d'une superposition ou lorsque le document sera prêt.