Je fais un jeu qui implique, comme tous les jeux, des appuis sur les touches. Seules les flèches gauche et droite et la barre d'espace. Ils fonctionnent, mais le navigateur est prédéfini pour faire défiler vers la gauche, la droite ou sauter sur ces touches. Est-il possible de dissocier ces clés dans le code? Merci.Unbind Key Presses
Répondre
vous devriez pouvoir empêcher le comportement par défaut du navigateur en renvoyant false après avoir appuyé sur la touche. Cependant, en fonction de la façon dont vous interceptez les événements clés, il semble fonctionner différemment sur différents navigateurs et même pour différents types de clés (touches de commande alpha vs 'command')
jquery preventDefault et stopPropagation peuvent également fonctionner, les commentaires à la en bas de cette documentation donnent beaucoup de bons conseils http://api.jquery.com/event.preventDefault/
sur la base des informations là, je mets ce petit bout de code ensemble, semble arrêter la barre d'espace et vers le bas/haut flèches de se déplacer la barre de défilement à la fois opéra et Firefox
essayez ce code (jquery nécessaire) dans firefox avec firebug console activé
$(document).bind('keydown, keypress', function(event) {
console.debug(event.keyCode + " - " + event.which);
// event.preventDefault();
return false;
});
- 1. Presses clés en Python
- 2. presses clés GTK + (gtkD)
- 3. Unbind widget events
- 4. ASP.NET MVC Unbind Action Parameter
- 5. jQuery bind unbind click event
- 6. accordéon JQuery - événement click unbind
- 7. poignée presses clés en utilisant SWT
- 8. lient événement Jquery/crochets unbind et lib
- 9. Comment faire .unclick = unbind (clic dans jquery?
- 10. Comment "relier" l'événement click après unbind ('click')?
- 11. Pourquoi ce unbind ne fonctionne pas?
- 12. Unbind ne fonctionne pas dans jQuery
- 13. jQuery bind et unbind event avec paramètres
- 14. à propos de jquery bind unbind
- 15. Imbrication de xsl: key() dans xsl: key() et combinaison des résultats de xsl: key()
- 16. Python: `key pas dans my_dict` mais` key dans my_dict.keys() `
- 17. Quelle est la différence entre Application ["Key"] et Application.Contents ["Key"]?
- 18. indice étranger MySql Key
- 19. NHibernate MySQL Composite-Key
- 20. JSlider key bindings
- 21. RSA Key Store Autorisations
- 22. key down in .net
- 23. Tab-Key blocs circonflexe (^)
- 24. Problème dans Key Capture
- 25. Querystring dans S3-Key
- 26. Fenêtre Inject key Evénement
- 27. Joystick Key Capture
- 28. ce qu'on appelle KEY
- 29. capturer des touches de presses globales en Java
- 30. Cocoa Key problème de l'événement
Je trouve cela fonctionne dans tous les navigateurs, je l'ai essayé, sauf IE: window.onkeydown = function (e) { \t if (e.keyCode == 32 || e.keyCode == 37 || e.keyCode == 39) { \t \t return false; \t} } Est-ce que quelqu'un sait un moyen de faire cela dans IE? Même si c'est seulement IE, je connais un moyen de contourner ce problème. J'ai juste besoin d'un moyen de faire la même chose dans Internet Explorer. – Doug
ce poste se décompose http://www.quirksmode.org/js/keys.html consultez le formulaire 'Test' au fond et voir la source pour voir comment ils traitent des événements clés - semble fonctionner IE8 , Firefox et Chrome – house9