Stopper event keypress

Résolu
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
- Modifié par nagaD.scar le 5/08/2016 à 11:24
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
- 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
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
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
0
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
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
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
5 août 2016 à 12:48
cancelbubble=true
0
@karamel
Messages postés
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144
5 août 2016 à 20:19
bonjour

ev.preventDefault 

0
nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
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
1807
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
5 mai 2022
144 > nagaD.scar
Messages postés
4269
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021

8 août 2016 à 15:46
sacré ie
0