OVH Cloud OVH Cloud

Détéction des touches "FLECHES" dans un input sous IE

2 réponses
Avatar
Loïc LE BLEIS
Bonjour,

J'utilise le code suivant pour detecter l'appui sur les touches "Fleches" du
clavier dans un input text :

<html>
<body>
<script language="JavaScript1.2">
function detect(Event)// Event appears to be passed by Mozilla
{
// IE does not appear to pass it, so lets use global var
if(Event==null)
Event=event;

var msg = "fleche ";

switch (Event.keyCode)
{
case 37: msg += "gauche"; break;
case 38: msg += "haut"; break;
case 39: msg += "droite"; break;
case 40: msg+= "bas"; break;
default: msg = "autre touche";
}
alert (msg);
}
</script>
</body>
<form>
<input type='text' onkeypress='javascript:detect(event);'>
</form>
</html>

Le code marche bien sous FireFox 1.0 preview, mais sous IE 6 les touches
autres que les fleches sont détéctés mais la fonction n'est même pas
déclenché lorsque j'appuie sur les fleches (elle l'est par contre lorsque
j'appuie sur une autre touche que les fleches).

Quelqu'un aurait une solution pour detecter l'appui sur les fleches dans un
input de type texte sous IE 5.5?

Merci.

Loïc

2 réponses

Avatar
ASM

Bonjour,

J'utilise le code suivant pour detecter l'appui sur les touches "Fleches" du
clavier dans un input text :

<html>
<body>
<script language="JavaScript1.2">
function detect(Event)// Event appears to be passed by Mozilla
{
// IE does not appear to pass it, so lets use global var
if(Event==null)
Event=event;

var msg = "fleche ";

switch (Event.keyCode)
{
case 37: msg += "gauche"; break;
case 38: msg += "haut"; break;
case 39: msg += "droite"; break;
case 40: msg+= "bas"; break;
default: msg = "autre touche";
}
alert (msg);
}
</script>
</body>


non ! pas ici la fin du body ! !

<form>
<input type='text' onkeypress='javascript:detect(event);'>
</form>


</body>

</html>

Le code marche bien sous FireFox 1.0 preview, mais sous IE 6 les touches
autres que les fleches sont détéctés mais la fonction n'est même pas
déclenché lorsque j'appuie sur les fleches (elle l'est par contre lorsque
j'appuie sur une autre touche que les fleches).

Quelqu'un aurait une solution pour detecter l'appui sur les fleches dans un
input de type texte sous IE 5.5?


oui

Merci.


allez ...

essaie avec :

<input type='text' onkeydown="detect(event);">

Mais ça ne marche pas avec mon NC4.5
(ne connait pas keyCode )

Avatar
Loïc LE BLEIS
Merci j'avais pas pensé a essayer onkeydown :-( j'y ai pourtant passé du
temps !!
Pour netscape il faut utiliser event.wich pour avoir le code de la touche
pressée.
Le code suivant marche donc sous IE, FireFow et Netscape (il me reste a le
tester sous Safarie, qqu'un a un Mac ? ;) )

A+

function detect(Event)// Event appears to be passed by Mozilla
{
// IE does not appear to pass it, so lets use global var
if(Event==null)
Event=event;

kc = Event.keyCode;
if (!kc)
kc = Event.wich;

var msg = "fleche ";

switch (kc)
{
case 37: msg += "gauche"; break;

case 38: msg += "haut"; break;

case 39: msg += "droite"; break;

case 40: msg+= "bas"; break;

default: return;
}
alert (msg);
}

"ASM" a écrit dans le message de news:




Bonjour,

J'utilise le code suivant pour detecter l'appui sur les touches
"Fleches" du


clavier dans un input text :

<html>
<body>
<script language="JavaScript1.2">
function detect(Event)// Event appears to be passed by Mozilla
{
// IE does not appear to pass it, so lets use global var
if(Event==null)
Event=event;

var msg = "fleche ";

switch (Event.keyCode)
{
case 37: msg += "gauche"; break;
case 38: msg += "haut"; break;
case 39: msg += "droite"; break;
case 40: msg+= "bas"; break;
default: msg = "autre touche";
}
alert (msg);
}
</script>
</body>


non ! pas ici la fin du body ! !

<form>
<input type='text' onkeypress='javascript:detect(event);'>
</form>


</body>

</html>

Le code marche bien sous FireFox 1.0 preview, mais sous IE 6 les touches
autres que les fleches sont détéctés mais la fonction n'est même pas
déclenché lorsque j'appuie sur les fleches (elle l'est par contre
lorsque


j'appuie sur une autre touche que les fleches).

Quelqu'un aurait une solution pour detecter l'appui sur les fleches dans
un


input de type texte sous IE 5.5?


oui

Merci.


allez ...

essaie avec :

<input type='text' onkeydown="detect(event);">

Mais ça ne marche pas avec mon NC4.5
(ne connait pas keyCode )