Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

syntaxe des évenements.

2 réponses
Avatar
WebShaker
Quelqu'un peut-il me dire quelle différence il y a entre

oNewCard.removeEventListener('click', function( event ){
// 100 ligne de code
}, false );

et

oNewCard.onclick = function onclick( event ){
// 100 ligne de code
}, false );

merci.
Etienne

PS: les deux semble marcher...
il doit donc y avoir un intéret a utiliser la première syntaxe nettement
plus compliquée.

Etienne

2 réponses

Avatar
Bruno Desthuilliers
WebShaker a écrit :
Quelqu'un peut-il me dire quelle différence il y a entre

oNewCard.removeEventListener('click', function( event ){
// 100 ligne de code
}, false );



Je suppose que tu veux parler de "addEventListener" ?

et

oNewCard.onclick = function onclick( event ){
// 100 ligne de code
}, false );



Là tu a une erreur de syntaxe, mais je suppose que c'est un copié/collé
un peu hâtif ?


PS: les deux semble marcher...



<frisson>"semble marcher"</frisson> Je sais pas pourquoi, ça m'inquiète
toujours quand j'entend ça. Ca sent la programmation par accident :-/

il doit donc y avoir un intéret a utiliser la première syntaxe nettement
plus compliquée.



La première syntaxe permet de définir plusieurs gestionnaires
d'évènement pour un même évènement et un même objet. Ces gestionnaires
seront tous appelés les uns après les autres (je ne sais pas dans quel
ordre...) quand l'objet recevra l'évènement cité.

Avec la seconde syntaxe, tu n'a qu'un seul gestionnaire à un moment
donné. Si par hasard il y avait déjà un autre gestionnaire d'évènement
positionné par un autre script pour cet objet et cet évènement, il est
purement et simplement écrasé.

Il y a quelques autres subtilités entre les deux façons de gérer les
évènements (avec bien sûr quelques différences fondamentales entre le
DOM standard et IE), je te laisse consulter la doc...
Avatar
WebShaker
Le 03/05/2010 15:21, Bruno Desthuilliers a écrit :
WebShaker a écrit :
Quelqu'un peut-il me dire quelle différence il y a entre

oNewCard.removeEventListener('click', function( event ){
// 100 ligne de code
}, false );



Je suppose que tu veux parler de "addEventListener" ?



En effet


et

oNewCard.onclick = function onclick( event ){
// 100 ligne de code
}, false );



Là tu a une erreur de syntaxe, mais je suppose que c'est un copié/collé
un peu hâtif ?



En effet aussi



PS: les deux semble marcher...



<frisson>"semble marcher"</frisson> Je sais pas pourquoi, ça m'inquiète
toujours quand j'entend ça. Ca sent la programmation par accident :-/

il doit donc y avoir un intéret a utiliser la première syntaxe
nettement plus compliquée.



La première syntaxe permet de définir plusieurs gestionnaires
d'évènement pour un même évènement et un même objet. Ces gestionnaires
seront tous appelés les uns après les autres (je ne sais pas dans quel
ordre...) quand l'objet recevra l'évènement cité.



En effet, c'est bien ca?
merci. j'avais fini par comprendre.

Etienne