HTML5 autofocus = autoselect?
Je suis en utilisant certaines fonctionnalités de formulaire HTML5 pour progressivement améliorer l'expérience utilisateur de mon projet web. Un en particulier est autofocus, je suis désireux de l'utiliser dans un modale (lightbox) boîte de dialogue qui permet aux utilisateurs d'entrer des tags. Les balises existantes pourraient être là.
Le seul navigateur que j'ai installé qui prend en charge l'autofocus est Chrome 9, cependant quand je l'ai tester il y il met l'accent sur le terrain, mais aussi sélectionne automatiquement tout le texte existant dans le domaine. Je ne m'attendais pas ou voulez autoselect, je veux de l'autofocus.
Est mon attente, mal ou est Chrome mal?
OriginalL'auteur Ferdy | 2011-01-19
Vous devez vous connecter pour publier un commentaire.
Lire plus à propos de l'autofocus et du html5 ici: http://php.quicoto.com/autofocus-in-html5/
Si vous avez un bout de code que nous puissions regarder, nous pourrions être en mesure de vous aider. Il semble assez simple et facile à mettre en œuvre et indique que la fonction est prise en charge dans tout, mais Fx et IE.
Si vous êtes à la recherche d'ajouter le curseur à la fin du texte déjà existant? Si c'est le cas, ce n'est pas de l'autofocus et, à ma connaissance serait probablement besoin de javascript... peu importe, l'autofocus est en train de faire c'est du boulot. Comme Eli dit, l'autofocus fonctionne. Essayez de regarder dans js. Désolé, souhaite que je pourrais être de plus d'aide.
En fait, je ne se soucient pas si elle est placée au début ou à la fin du texte, il devrait se concentrer sur le terrain. Il ne faut pas sélectionner tout le texte dans ce champ, cela signifie que les utilisateurs remplacer la valeur existante comme ils commencent à taper. Je ne suis pas d'accord que la mise au point automatique signifie que le texte existant est automatiquement sélectionné, mais bon, si c'est vraiment selon les spécifications, ainsi soit-il.
Comme indiqué dans le cette réponse, le spec ne pas spécifier si oui ou non le texte doit être sélectionné.
OriginalL'auteur
Chrome a décidé qu'ils étaient mauvais et modifié ce comportement dans google Chrome 36.
Je le sais parce que j'ai été, à tort, en s'appuyant sur le javascript .focus() et html autofocus pour sélectionner le texte. Maintenant, il nécessite une .sélectionnez() pour sélectionner et choisir dans le champ de texte. Bien que nous pouvons désormais être spécifique de ce que nous voulons 🙂
Alors maintenant, Chrome se comporte comme par exemple Firefox.
OriginalL'auteur Pascal_dher
De la Spécification HTML5, la map ne prescrivent pas de savoir si ou non le texte doit être sélectionné. Les agents utilisateurs ne sont ni nécessaires ni interdit pour sélectionner le texte. Plus précisément, voici la la map:
OriginalL'auteur shelley
Il est censé sélectionner le texte, comme
input.focus()
fait cela aussi.OriginalL'auteur Eli Grey