Javascript : détecter la touche F2 - HTML/CSS - Programmation
Marsh Posté le 19-07-2006 à 15:11:15
tu peux pas récupérer les touches FXX sur un onkeypress, tu dois attendre le onkeyup.
edit: ou anticiper sur le onkeydown
Et attention aux touches de fonction qui declenche des evenements genre F1->aide, F3->historique sous IE( mais bon tu peux te débrouiller pour que cela ne le fasse pas)
Marsh Posté le 20-07-2006 à 09:30:49
Merci beaucoup, ça fonctionne impec.
J'utilise F2 et Shift+F2 pour ems raccourcis, sans soucis !!
Marsh Posté le 14-01-2008 à 18:24:48
Dis voir, c'est du 100% IE d'utiliser event... c'est which sous FF, c'est ca ?
Marsh Posté le 14-01-2008 à 20:29:11
Voici une version oecuménique :
<html> |
Marsh Posté le 14-01-2008 à 22:33:37
mais paye ton caca :S
au lieu de faire
Code :
|
tu peux tres bien faire et c'est encore mieux en te basant sur les objets
Code :
|
Marsh Posté le 15-01-2008 à 09:44:15
Est ce vraiment un code compatible Firefox ? Il semble que non...
De plus, qu'est ce que c'est que event ???? quelle difference avec evt qui nous vient des parametres ?
--------------
EDIT :
OK, j'ai trouvé, c'est window.status qui n'est pas compatible Firefox, le reste marche
Marsh Posté le 15-01-2008 à 13:05:43
wala c'est corrigé
j'ava trompé dans mon code, donc look juste au dessus de ton dernier msg =)
Marsh Posté le 19-07-2006 à 14:56:02
Bonjour !
Voila, je viens de développer une petite fonction lancée dans mon body lors d'un évènement onkeypress afin d'écouter les touches tapées.
Ce que je souhaites faire, c'est effectuer une opération particulière lorsque l'on tape F2.
La bonne nouvelle, cela fonction parfaitement bien sous Firefox.
La mauvaise nouvelle, avec IE je n'arrive à détecter que les touches ASCII, les touches FXX ne sont pas détectées.
J'aurais voulu savoir si quelqu'un avait une solution pour pallier à ce problème.
Merci beaucoup !!
Mon body :
<body onkeypress="getAction(event.keyCode,event.shiftKey);">
Voici ma fonction getAction :
function getAction(key, shift)
{
if(shift)
{
// Si la touche vaut 113 (F2) + shift on appelle copyToAll
if(key==113) copyToAll(selectedField, nbFields);
}
else
{
// Si la touche vaut 113 (F2) on appelle copyToNext
if(key==113) copyToNext(selectedField);
}
// PROVISOIRE : pour vérifier le code récupéré
alert(key);
}