Stopper event keypress [Résolu]

Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
-
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
Afficher la suite 

Votre réponse

2 réponses

Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
16
0
Merci
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
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
16 -
j ai parlé trop vite, pour l aide rafraichissement et qq autres raccourcis FN, ce n est pas suffisant
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
16 -
cancelbubble=true
Commenter la réponse de nagaD.scar
Messages postés
1694
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
17 mai 2019
38
0
Merci
bonjour

ev.preventDefault 

nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
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
@karamel
Messages postés
1694
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
17 mai 2019
38 > nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
-
sacré ie
Commenter la réponse de @karamel