Stopper event keypress

Résolu
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - Modifié par nagaD.scar le 5/08/2016 à 11:24
@karamel Messages postés 1858 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 5 juillet 2024 - 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

2 réponses

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
5 août 2016 à 11:36
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 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
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
0
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
5 août 2016 à 12:48
cancelbubble=true
0
@karamel Messages postés 1858 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 5 juillet 2024 153
5 août 2016 à 20:19
bonjour

ev.preventDefault 

nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 17
Modifié par nagaD.scar le 8/08/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
0
@karamel Messages postés 1858 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 5 juillet 2024 153 > nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023
8 août 2016 à 15:46
sacré ie
0
Rejoignez-nous