Comprendre le DOM du W3C et empêcher la propagation d'évènements...
1 réponse
David BERCOT
Re-bonjour,
Suite =E0 mon probl=E8me de 'onchange', j'ai cherch=E9 =E0 comprendre un
peu mieux le DOM du W3C et notamment la gestion des =E9v=E8nements. Je
dois reconna=EEtre que tout n'est pas tr=E8s clair pour moi...
Si j'essaye de capturer l'=E9v=E8nement 'change' sur une zone input,
j'=E9cris :
document.getElementById("var01").addEventListener("change",monchange,true);
Et cela fonctionne, c'est-=E0-dire que la fonction "monchange" est bien
appel=E9e...
Maintenant, dans cette fonction, si je demande si l'=E9v=E8nement peut
=EAtre interrompu (via un alert(event.cancelable)), la r=E9ponse est true
!!!
Malheureusement, ni un preventDefault ni un stopPropagation ne
fonctionne...
En revanche, si l'=E9v=E8nement est keypress ou keydown (mais ni keyup ni
change), tout marche bien !!!
Bref, je n'y comprends rien du tout...
Est-ce que l'=E9v=E8nement "change" peut r=E9ellement =EAtre interrompu ?
Si oui, comment ?
Merci d'avance.
David.
P=2ES. : si vous avez des liens vers une explication de ce mod=E8le, je
suis preneur ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guy
Re-bonjour,
Suite à mon problème de 'onchange', j'ai cherché à comprendre un peu mieux le DOM du W3C et notamment la gestion des évènements. Je dois reconnaître que tout n'est pas très clair pour moi...
Si j'essaye de capturer l'évènement 'change' sur une zone input, j'écris : document.getElementById("var01").addEventListener("change",monchange,true);
Bonjour,
la propagation d'événements s'applique lorsque des objets sont imbriqués ! ex :
un DOCUMENT contient un FORMulaire qui contient des INPUT ; tous les trois ont l'événement onKeypress activé; deux problèmes apparaissent : 1) dans quel sens l'événment sera propagé (doc form input) ou (input form doc) 2) cet event doit il etre propagé vers les différents traitements ?
http://developer.mozilla.org/fr/docs/DOM:element.addEventListener G ps : dans le cas qui vous occupe, vous voudriez stopper le fonctionnement normal du navigateur (passage au champs suivant) en stoppant la propagation de l'événement alors qu ils sont deux fonctionnements normalement indépendants ! utilisez les classiques gestions d'événements onBlur et onFocus !
Re-bonjour,
Suite à mon problème de 'onchange', j'ai cherché à comprendre un
peu mieux le DOM du W3C et notamment la gestion des évènements. Je
dois reconnaître que tout n'est pas très clair pour moi...
Si j'essaye de capturer l'évènement 'change' sur une zone input,
j'écris :
document.getElementById("var01").addEventListener("change",monchange,true);
Bonjour,
la propagation d'événements s'applique lorsque des objets sont imbriqués !
ex :
un DOCUMENT contient un FORMulaire qui contient des INPUT ;
tous les trois ont l'événement onKeypress activé; deux problèmes
apparaissent :
1) dans quel sens l'événment sera propagé (doc form input) ou (input
form doc)
2) cet event doit il etre propagé vers les différents traitements ?
http://developer.mozilla.org/fr/docs/DOM:element.addEventListener
G
ps : dans le cas qui vous occupe, vous voudriez stopper le
fonctionnement normal du navigateur (passage au champs suivant) en
stoppant la propagation de l'événement alors qu ils sont deux
fonctionnements normalement indépendants !
utilisez les classiques gestions d'événements onBlur et onFocus !
Suite à mon problème de 'onchange', j'ai cherché à comprendre un peu mieux le DOM du W3C et notamment la gestion des évènements. Je dois reconnaître que tout n'est pas très clair pour moi...
Si j'essaye de capturer l'évènement 'change' sur une zone input, j'écris : document.getElementById("var01").addEventListener("change",monchange,true);
Bonjour,
la propagation d'événements s'applique lorsque des objets sont imbriqués ! ex :
un DOCUMENT contient un FORMulaire qui contient des INPUT ; tous les trois ont l'événement onKeypress activé; deux problèmes apparaissent : 1) dans quel sens l'événment sera propagé (doc form input) ou (input form doc) 2) cet event doit il etre propagé vers les différents traitements ?
http://developer.mozilla.org/fr/docs/DOM:element.addEventListener G ps : dans le cas qui vous occupe, vous voudriez stopper le fonctionnement normal du navigateur (passage au champs suivant) en stoppant la propagation de l'événement alors qu ils sont deux fonctionnements normalement indépendants ! utilisez les classiques gestions d'événements onBlur et onFocus !