supprimer evenement onclick => detachEvent gadget pour sidebar
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:
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:
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:
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:
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:
document.body.detachEvent("onclick",activeFly);
Je sais pas si j'ai été clair, mais voila mon problème...
Une idée?