Bonsoir,
cela fait plusieurs tutos (ici et sur le net) pour me permettre de détecter la touche ctrl, mais je n'arrive pas à en faire fonctionner un seul.
Je voudrais détecter la touche ctrl valable sur toute la fenêtre mais je n'y arrive pas.
Auriez-vous une solution assez simple à appliquer ?
Pour ce code, je voudrais éviter de mettre du code JS dans le body si possible car j'ai un fichier JS externe.
(J'ai opéra et firefox)
Le code trouvé sur la FAQ javaScript par exemple je l'ai adapté comme ça :
Et je l'initie avec ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function detectTouche(e){ if(parseInt(navigator.appVersion,10) >=4){ if(navigator.appName == 'Netscape'){ // Pour Netscape, firefox, ... console.log(String.fromCharCode(e.which)+" "+e.which); } else{ // pour Internet Explorer console.log(String.fromCharCode(e.keyCode)+" "+e.keyCode); } } }
Mais quelque soit la touche pressée Opéra affiche undefined à la ligne où se trouve la première console.log().
Code : Sélectionner tout - Visualiser dans une fenêtre à part window.onkeydown=detectTouche(event);
Le code original dans la FAQ javaScript est celui-ci :
Avec ce code en appel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function detectTouche(e){ if(parseInt(navigator.appVersion,10) >=4){ if(navigator.appName == 'Netscape'){ // Pour Netscape, firefox, ... document.getElementById('zone').value = String.fromCharCode(e.which); document.getElementById('zone1').value = e.which; } else{ // pour Internet Explorer document.getElementById('zone').value = String.fromCharCode(e.keyCode); document.getElementById('zone1').value = e.keyCode; } } }
Je l'ai adapté car je ne veux pas mettre de code dans le body, car j'ai un fichier externe JS et je veux avoir le code dedans si possible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <body onkeydown="detectTouche(event)"> <input type="text" id="zone" size="30" /> <input type="text" id="zone1" size="30" /> </body>
Dans le code de la FAQ on remarque des guillemets :
Avec ces guillemets rien ne se passe sur Opéra mais sans guillemets j'ai au moins un message qui m'indique que la touche pressée est indéfinie, donc je l'ai gardé sans guillemets
Code : Sélectionner tout - Visualiser dans une fenêtre à part <body onkeydown="detectTouche(event)">
Partager