Bonjour,
J'ai un problème avec removeEventListener sur FIREFOX (pas sur IE pour une fois).
J'ai 2 DIV, chacune associées à 2 événéments (window scroll et window resize).
Le fonctionnement souhaité : lorsque les événements de la DIV2 opèrent, ceux de la DIV1 doivent être arrêtés et réciproquement. j'emploie donc des addEventListener et removeEventListener alternativement.
ce lien m'a aidé pour piger qlq trucs : http://developer.mozilla.org/fr/DOM/...eEventListener
Je déroule ce que les traitements par étapes ci-dessous :
####### etape 1 #######
GESTIONNAIRE ONLOAD => addEventListener DIV1
traitement dans onload :
action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 window.addEventListener('scroll',FNC_DIV1,true); window.addEventListener('resize',FNC_DIV1,true);
Si je scroll ou resize ma page, la DIV1 se déplace vers une position calculée (ACTION OK).
####### etape 2 #######
SI TRAITEMENT 2 ALORS removeEventlistener DIV1 ET addEventListener DIV2
traitement dans fonction traitement 2 :
action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 window.removeEventListener('scroll',FNC_DIV1,true); window.removeEventListener('resize',FNC_DIV1,true); [...] window.addEventListener('scroll',FNC_DIV2,false); window.addEventListener('resize',FNC_DIV2,false);
La DIV1 ne devrait plus se déplacer (ACTION NOK (aléatoire))
La DIV2 se déplace si je scroll ou resize la page (ACTION OK).
####### etape 3 #######
SI TRAITEMENT 1 ALORS removeEventListener DIV2 et addEventListener DIV1
traitement dans fonction traitement 1 :
action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 window.removeEventListener('scroll',FNC_DIV2,false); window.removeEventListener('resize',FNC_DIV2,false); [...] window.addEventListener('scroll',FNC_DIV1,true); window.addEventListener('resize',FNC_DIV1,true);
La DIV2 ne devrait plus se déplacer (ACTION NOK (aléatoire))
La DIV1 doit à nouveau se déplacer sur scroll ou resize (ACTION OK)
Bref les removeEventListener marchent pas toujours. Ou bien les événements sont parfaitement coupés ou bien pas du tout.
Que faire ?
Partager