Comment créer un raccourci clavier à un bouton de saisie
Je suis en train de montrer un tas de photos et chaque image a sa propre page HTML. J'ai une entrée bouton onclick va vous prendre pour le prochain lien pour l'image. Cependant, je veux être en mesure d'utiliser mon flèches du clavier pour aller de l'avant et à l'arrière. Je suis nouveau sur le codage et ne sais pas si c'est possible. Puis-je le faire avec le HTML à l'aide de la touche d'accès:
<input type="button" accesskey="?" value="Next Item">
Ou dois-je utiliser un plugin JQuery? Si oui, laquelle?
- Si vous cherchez Plugin jQuery - github.com/jeresig/jquery.hotkeys
Vous devez vous connecter pour publier un commentaire.
Comme zzzzBov expliqué, le HTML
accesskey
définit une clé qui sera emprisonné uniquement lorsqu'il est combiné avec l' ALT clé. C'est pourquoi c'est pas utile pour le piégeage n'importe quelle touche seul.Mais vous devez prendre soin de choisir l'événement pour intercepter les touches de curseur parce que Webkit a décidé de ne pas les piéger avec le
touche
comme il n'est pas dans la norme. En ce moment, les 3 autres réponses ici utiliser cettekeypress
événement et c'est pourquoi ils ne fonctionnent pas dans Google Chrome, ni Safari, mais si vous modifiez pourkeydown
qu'elles fonctionnent sur tous les navigateurs.Vous pouvez utiliser ce code jQuery pour capturer le
keydown
cas de l' gauche, droit, up, et bas touches fléchées:Et dans suivantes extrait de code vous pouvez afficher et d'exécuter un exemple complet dans lequel les images sont échangés à l'aide des touches ou des boutons.
JS:
CSS:
HTML:
Mise à JOUR (Mai 2016)
keyCode a récemment été déprécié (mais je n'ai pas trouvé une solution de navigateur encore). Citant MDN article pour le mot de code:
J'ai juste utilisé un tiers shortcut.js. C'est très sympathique. Vous pouvez référence il.
option
objet avec untarget
de la propriété, et beaucoup plus de personnalisations sont possibles.Non, accesskey est utilisé en conjonction avec alt
Donc
accesskey="a"
fera Alt+Un être le raccourci.Pas, vous pouvez utiliser les vieux javascript; jQuery fonctionne aussi.
Je n'ai exemple dans jsFiddle il utilise la touche flèche haut et vers le bas de sorte qu'il se concentre suivant ou précédent de contrôle d'entrée, respectivement . Jetez un oeil
Je vais utiliser ceci :
Et l'utilisateur doit saisir : maj + alt + n
n
ou toute autre lettre.Vous pouvez faire cela...
jsFiddle.