Bonjour,

Je suis en train de développer un gadget pour la sidebar de windows.
J'arrive à attacher un evenement avec attachEvent, mais je n'arrive pas à le détacher une fois qu'il a été attaché...

Voici mon code:
le js:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
function activeFly()
{
	System.Gadget.Flyout.show=true;
}
 
function WhenUndocked()
{
   System.Gadget.beginTransition();
 
   //On desactive le flyout sur le onclick du body
   with(document.body)
   {
	onclick="function(){void(0)};";
   }
   document.body.detachEvent("onclick",activeFly);
 
 
   System.Gadget.endTransition(System.Gadget.TransitionType.none,0);
}
 
function WhenDocked()
{
	System.Gadget.beginTransition();
 
	//On reactive le flyout sur le onclick du body
	document.body.attachEvent("onclick",activeFly);
 
	System.Gadget.endTransition(System.Gadget.TransitionType.none,0);
}
Et le html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<body onclick="activeFly();">
...
</body>
Au chargement, le flyout(apparition d'une fenetre sur le coté du gadget) est activé grâce au onclick du body.

Puis si on undock (fais sortir le gadget de la sidebar), je veux désactiver le flyout à l'aide de detachEvent...

Et si on dock (inverse de undock, cad faire revenir le gadget dans la sidebar) le gadget, je veux reactiver le flyout sur onclick du body...

En gros:
Au chargement, le flyout marche, normal grâce au onclick du body...
Si j'undock grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
with(document.body)
   {
	onclick="function(){void(0)};";
   }
le flyout se désactive... Jusqu'ici tout va bien.

Si on redock le gadget, grâce à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.body.attachEvent("onclick",activeFly);
le flyout se réactive bien.

Mais à partir de ce moment là, quand j'undock à nouveau le gadget, le flyout reste activé...
Malgré la présence du code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.body.detachEvent("onclick",activeFly);

Je sais pas si j'ai été clair, mais voila mon problème...

Une idée?