Stopper event keypress [Résolu]

nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 5 août 2016 à 11:24 - Dernière réponse : @karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention
- 8 août 2016 à 15:46
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 

6 réponses

Répondre au sujet
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 5 août 2016 à 11:36
0
Utile
2
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 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 5 août 2016 à 12:21
j ai parlé trop vite, pour l aide rafraichissement et qq autres raccourcis FN, ce n est pas suffisant
nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 5 août 2016 à 12:48
cancelbubble=true
Commenter la réponse de nagaD.scar
@karamel 1655 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention - 5 août 2016 à 20:19
0
Utile
2
bonjour

ev.preventDefault 

nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 8 août 2016 à 09:30
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 1655 Messages postés vendredi 9 mai 2008Date d'inscriptionModérateurStatut 19 avril 2018 Dernière intervention > nagaD.scar 4255 Messages postés samedi 8 septembre 2007Date d'inscription 16 avril 2018 Dernière intervention - 8 août 2016 à 15:46
sacré ie
Commenter la réponse de @karamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.