Je fais moi-même un diaporama HTML et j'ai été capable de créer la plupart des choses. L'endroit où je suis coincé est les événements du clavier. C'est une flèche vers l'avant et vers l'arrière. J'ai besoin de savoir comment les utiliser avec JavaScript ou JQuery. Ces boutons déclenchés déclencheraient un événement de manière à passer à la diapositive suivante ou à passer à la précédente. Je tiens également à mentionner que mes diapositives sont également HTML interactif, car vous pouvez remplir des données, les valider, etc en les utilisant. SO je ne veux pas que les événements du clavier à gêner pendant que l'utilisateur interagit avec le formulaire ou tout autre contenu sur la page via le clavier (par exemple remplir un formulaire, date, etc). Comment s'y prendre?Événements keypress dans JavaScript et JQuery?
Répondre
Il y a 3 différents événements pour la manipulation du clavier d'entrée: keyup, keydown et keypress. Tous ne sont pas déclenchés sur toutes les touches, et certains déclenchent des codes différents selon le système d'exploitation. Consultez quirksmode pour plus d'informations.
jQuery a des événements correspondants pour chacun d'eux.
De jQuery site:
Notez que KEYDOWN et keyup fournir un code indiquant quelle touche est pressée , tandis que keypress indique quel caractère a été saisi. Pour par exemple, un "a" minuscule sera signalé comme 65 par le clavier et le clavier, mais comme 97 par une pression sur une touche. Une majuscule "A" est signalée par 65 par tous les événements . En raison de cette distinction, lorsque vous attrapez des frappes spéciales telles que les touches fléchées, .keydown() ou .keyup() est un meilleur choix.
Pour éviter la manipulation de ces événements lorsque l'utilisateur interagit avec la forme, vous pouvez activer le comportement de tout temps un champ de formulaire a le focus, et rallumez lorsque les champs de formulaire sont floues. De cette façon, utiliser ces flèches pour naviguer dans un champ de saisie ne provoquerait pas de traversée de diaporama.
Merci beaucoup pour l'aide. J'ai eu le tour. –
$(window).keypress(function(e) {
var keyCode = e.keyCode || e.which; //browser compatible
switch (keyCode) {
case 39:
alert("right key pressed");
break;
case 37:
alert("left key pressed");
break;
default:
alert("other key pressed");
}
});
violon: http://jsfiddle.net/3wdw7/
Salut ... J'ai essayé le violon mais j'ai la touche droite et gauche, vouliez-vous dire la touche fléchée ... ils fonctionnent. D'autres clés fonctionnent.Mon soncern est que si j'ai une zone de texte dans la page et je suis en train de taper dedans alors ce code ne devrait pas fonctionner. Comme je quitte la zone de texte cela devrait commencer à fonctionner à nouveau http://jsfiddle.net/shivkumarganesh/HgDAD/ J'ai une zone de texte où je veux taper sans entrave.Comme je suis hors de celui-ci le script devrait fonctionner –
Vous aurez envie pour utiliser 'keydown' au lieu de' keypress' ici parce que le but est d'attraper les touches fléchées. Voir la différence entre les deux ici: http://www.quirksmode.org/dom/events/keys.html – Leo
jQuery [normalizes 'event.which] (http://api.jquery.com/keydown/) - vous pouvez simplement l'utiliser. – s4y
je ferais quelque chose comme ceci:
$(window).keydown(function(e) {
if (e.target !== document.body) return;
switch (e.keyCode) {
case 39:
alert("right");
e.preventDefault();
break;
case 37:
alert("left");
e.preventDefault();
break;
}
});
Vous pouvez vérifier la cible de l'événement à ne pas tenir compte des événements clés sur les éléments de l'enfant comme les champs de texte, et vous devriez éviter probablement par défaut sur l'événement pour arrêter le navigateur d'effectuer son action par défaut, comme le défilement de la page.
- 1. Événements KeyPress et KeyDown
- 2. Combiner les événements keyup, keypress et onblur dans jquery
- 3. jQuery - même comportement pour les événements click et keypress
- 4. Comment écrire l'événement keypress dans Jquery/Javascript?
- 5. Ordre de changement/événements keydown/keypress dans jQuery
- 6. javascript keypress enter key
- 7. Suivant et Précédent keypress Jquery
- 8. Jquery keypress/bas et animer
- 9. keypress plugin jQuery selectbox
- 10. Gestion des événements avec JavaScript et Jquery
- 11. KeyPress et le bouton en javascript
- 12. comment gérer les événements KeyPress ou KeyDown dans asp.net?
- 13. Liaison javascript keypress events
- 14. Comment reconnaître les événements KeyPress en utilisant Qt et X11events?
- 15. jQuery @ détection Keypress dans Firefox
- 16. Jquery KeyPress Ne fonctionne pas
- 17. Conflit jQuery Keypress
- 18. JQuery aléatoire .keypress() Question
- 19. JQuery Esc Keypress bind
- 20. jquery - "click" sur keypress?
- 21. KeyPress n'appelle pas jquery
- 22. Dialog keypress et DOM
- 23. Événements JavaScript et "srcElement"
- 24. sIFR et javascript événements
- 25. Fonctions et événements dans javascript et Raphael
- 26. Javascript/jQuery passer au champ suivant sur keypress
- 27. Comment gérer les événements keypress dans une application console Qt?
- 28. javascript événements et rappel
- 29. KeyPress et KeyRelease dans Robot.java
- 30. Aucun résultat pour keypress et click() dans jQuery
Qu'est-ce que vous devez savoir au-delà en utilisant le [ '.keypress()' méthode jQuery] (http://api.jquery.com/keypress/)? – jfriend00