OVH Cloud OVH Cloud

Event onKeyPress

3 réponses
Avatar
david P.
Bonjour à tous,

Je voudrais que mon document html réagisse à une combinaison de touches.
Pour cela j'ai associé une fonction à la balise body sur cet événement comme
suit :
document.body.onkeypress = TestKeyPress;

puis j'ai défini ma fonction qui ne fait pas grand chose pour l'instant mais
qui à terme devrait filtrer les touches sur lesquelles l'action va se faire.
function TestKeyPress(evt)
{
alert("testkeypress : "+evt);
}
Seulement il semblerait que "evt" soit toujours undefined. Pourriez vous
m'indiquer comment procéder sachant que je veux que l'événement soit
déclenché quelque soit l'élément actif de mon document.

D'avance merci...

3 réponses

Avatar
Saad Saad
Bonjour à tous,

Je voudrais que mon document html réagisse à une combinaison de touches.
Pour cela j'ai associé une fonction à la balise body sur cet événement comme
suit :
document.body.onkeypress = TestKeyPress;

puis j'ai défini ma fonction qui ne fait pas grand chose pour l'instant mais
qui à terme devrait filtrer les touches sur lesquelles l'action va se faire.
function TestKeyPress(evt)
{
alert("testkeypress : "+evt);
}
Seulement il semblerait que "evt" soit toujours undefined. Pourriez vous
m'indiquer comment procéder sachant que je veux que l'événement soit
déclenché quelque soit l'élément actif de mon document.

D'avance merci...




esseye comme ceci

document.onkeypress function (event)
{
...
}


ou

<body onkeypress="TestKeyPress(event);">

Avatar
Bobe
david P. nous a dit le 04.08.2005 15:59:

Seulement il semblerait que "evt" soit toujours undefined. Pourriez vous
m'indiquer comment procéder sachant que je veux que l'événement soit
déclenché quelque soit l'élément actif de mon document.



Je suppose que tu testes ton script avec IE. Ce navigateur ne gère pas
le passage de l'objet d'évènement en argument. À la place, il met
celui-ci dans l'attribut window.event.

Ajoute donc au début de ta fonction TestKeyPress() ceci:

if( !evt ) evt.window.event;

--
Aurélien Maille

"la vie d'un geek est un combat perpétuel contre l'imperfection"

Avatar
david P.
"david P." a écrit dans le message de news:
42f21f3d$0$3121$
Bonjour à tous,

Je voudrais que mon document html réagisse à une combinaison de touches.
Pour cela j'ai associé une fonction à la balise body sur cet événement
comme suit :
document.body.onkeypress = TestKeyPress;

puis j'ai défini ma fonction qui ne fait pas grand chose pour l'instant
mais qui à terme devrait filtrer les touches sur lesquelles l'action va se
faire.
function TestKeyPress(evt)
{
alert("testkeypress : "+evt);
}
Seulement il semblerait que "evt" soit toujours undefined. Pourriez vous
m'indiquer comment procéder sachant que je veux que l'événement soit
déclenché quelque soit l'élément actif de mon document.

D'avance merci...

ok merci, j'aV fini par trouver