Stopper event keypress [Résolu]

Signaler
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
-
Messages postés
1787
Date d'inscription
vendredi 9 mai 2008
Statut
Non membre
Dernière intervention
9 juin 2021
-
Salut à tous,

Voila je bloque un peu pour stopper un event lié à un appuie touche -> j'ai mon onKeyPress:

document.onkeydown =function (e)
{
if (!e) e=window.event;
switch(e.keyCode)
{
.
.
.
}
}


Et je voudrai que pour certaines touches, le javascript capte quelle touche a été enfoncée mais que ca s'arrête là.
Par exemple lorsque qu'il y a un appuie sur F5 je fais tel traitement mais ne pas propager pour ne pas rafraîchir. Ou encore, lors de l appuie sur 'a' , je ne veux pas que le a soit écrit dans la zone de texte. Si je suis pas claire demandez ^^
merci d'avance, je continue de chercher en même temps.

naga

2 réponses

Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
Rhhhha ca fait je sais pas combien de temps que je cherche sans trouver et il faut que je poste pour trouver x)

Donc pour info, les preventdefault etc. ne s appliquent pas dans mon cas, pour stoper la propagation d'une touche (et evenements liés) if faut simplement setter le returnValue à false. Par exemple:


document.onkeydown = function(ev) {
if (ev == undefined) { ev = window.event; }
if(ev.keyCode == 65){
ev.returnValue = false;
}

}

capte l appuie sur la touche 'a' et ca s arrete là.

oh et si vous voulez remplacer l'aide (je suis tombé dessus ca peu toujours être utile), il faut juste surcharger l'evenement window.onHelp

naga
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
j ai parlé trop vite, pour l aide rafraichissement et qq autres raccourcis FN, ce n est pas suffisant
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
cancelbubble=true
Messages postés
1787
Date d'inscription
vendredi 9 mai 2008
Statut
Non membre
Dernière intervention
9 juin 2021
131
bonjour

ev.preventDefault 

Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
Hello, merci pour la réponse mais ca ne suffit pas dans tous les cas (sous ie entre autre). Il faut faire le cancelbubble + prevent default + keycode=0 pour bien stopper la propagation.

naga
Messages postés
1787
Date d'inscription
vendredi 9 mai 2008
Statut
Non membre
Dernière intervention
9 juin 2021
131 >
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021

sacré ie