+1 tabindex est le point clé ici pour rendre le div «sélectionnable». JQuery n'est pas nécessaire, la même chose fonctionne avec Angular ainsi que (je suppose) avec des événements javascript simples.
Jukka Dahlbom
4
Quelle est la prise en charge du navigateur pour cela?
knownasilya
27
tabindex est un élément clé, mais ne le définissez pas sur une valeur autre que "0". Faire quelque chose au-dessus de 0 va gâcher les lecteurs d'écran pour les utilisateurs malvoyants (cela sautera tout sur la page et ira directement à n'importe quel tabindex au-dessus de 0). tabindex = "0" le rend "tabable". vous pouvez avoir des éléments infinis avec tabindex = "0"
zonabi
2
Fonctionne également avec <pre>!
dfmiller
2
Excellent! Il me manquait l'attribut tabindex, peut-être parce que les DIV ne peuvent pas recevoir le focus à moins qu'ils n'aient un tabindex. Merci mec! Sauvé ma vie! EDIT: fonctionne également avec React
L' attribut HTML tabindex indique si son élément peut être focalisé, et si / où il participe à la navigation séquentielle au clavier (généralement avec la Tabtouche). Lisez MDN Web Docs pour une référence complète.
En fait, j'ai trouvé cela à la recherche d'un problème avec l'événement de mise au point qui se déclenchait lorsque les contrôles de la div perdaient le focus disent de cliquer sur la barre de défilement divs, ajouter simplement l'arrêt de tabulation à la div était le correctif, alors merci beaucoup
Réponses:
(1) Définissez l'
tabindex
attribut:(2) Lier au keydown:
Pour définir le focus sur le démarrage:
Pour supprimer - si vous ne l'aimez pas - la
div
bordure de focus, définissez-laoutline: none
dans le CSS.Consultez le tableau des codes clés pour plus de
keyCode
possibilités.Tout le code en supposant que vous utilisez jQuery.
#la source
Voici un exemple sur JS simple:
la source
L' attribut HTML tabindex indique si son élément peut être focalisé, et si / où il participe à la navigation séquentielle au clavier (généralement avec la
Tab
touche). Lisez MDN Web Docs pour une référence complète.Utilisation de Jquery
Afficher l'extrait de code
Utilisation de JavaScript
Afficher l'extrait de code
la source