IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[DOM] comportement du Gestionnaire d'�v�nements


Sujet :

JavaScript

  1. #1
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut [DOM] comportement du Gestionnaire d'�v�nements
    Bonjour.

    J'aurais besoin d'une info concernant la gestion des �v�nements.
    Sur des pages g�n�r�es � l'aide d'AJAX, j'assigne dynamiquement des �v�nements � certains contr�les.
    Simulant un desktop, j'utilise un "dock" par bureau virtuel et lorsque je change de bureau virtuel, le dock est recharg� pour ne contenir que les applications ferm�es appartenant � ce bureau. Jusque l� tout va bien, j'arrive � obtenir ma liste d'applications. Seulement, lorsque je passe du bureau A au B, puis reviens au A, lorsque je veux lancer une des applications du dock, celle-ci est bien lanc�e, mais ouvre plusieurs instances, le nombre correspondant au nombre de fois que j'ai affich� mon bureau sans effectuer de v�ritable rafraichissement de la page.
    Je me demandais donc si le fait d'ajouter un gestionnaire d'�v�nement ajoutait une action au eventHandler ou le rempla�ait.

    Voici donc le code qui est utilis� pour ajouter le eventHandler
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    dojo.event.topic.getTopic("addChannelTopic").subscribe(this,"handleAddChannelTopic");

    Merci d'avance.

  2. #2
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Salut,

    Je ne connais pas dojo, mais tu as deux mani�res d'assigner un �venement
    � un �l�ment.

    1)
    element.onclick = r�f�rence_de_fonction;

    2)
    element.addEventListener(...) // standard
    ou
    element.attachEvent(...) // IE

    Dans le premier cas tu �crase la fonction existante si elle �tait d�finie.
    Dans le deuxi�me cas tu ajoutes une fonction � la liste des fonctions d�j�
    d�finie. Ce qui expliquerai le comportement que tu observes.

    Tu dois avoir moyen dans dojo de retirer les fonctions li�es � tes �v�nement,
    il faudrait le faire avant de passer d'un bureau � l'autre ?

  3. #3
    Membre chevronn� Avatar de yjuliet
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Ao�t 2006
    Messages
    362
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Seine et Marne (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 362
    Par d�faut
    Dans ce que j'ai vu, je n'ai pas vu de gestion directe de l'attibut onclick. Je suppose donc qu'il utilise la seconde solution.

    Il ne me reste plus qu'� "faire joujou" pour supprimer les actions ...

    Par contre, un noeud DOM supprim� puis recr�� conserve-t-il les actions associ�es aux �v�nements ?

  4. #4
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    Salut,

    Si tu le supprime avec removeChild et que tu ne conserve pas de r�f�rence
    les �venements "partent" avec.

    Par contre, si tu fait un appendChild qqpart et que le noeud que tu cr�es
    existe ailleur dans le dom, il va �tre supprim� de l� ou il �tait et replac� au
    nouvel endroit, dans ce cas, je pense que les �v�nement sont maintenu.

    � tester

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Maj dynamique d'un gestionnaire d'�v�nement
    Par Herode dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 31/03/2006, 10h15
  2. Gestionnaire d'�v�nements pour les fichiers sur disque
    Par chourmo dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 01/03/2006, 16h18
  3. R�ponses: 2
    Dernier message: 09/12/2005, 23h45
  4. [VBA] Gestionnaire d'�v�nement commun
    Par Neilos dans le forum Access
    R�ponses: 11
    Dernier message: 14/06/2005, 11h18
  5. Perte de gestionnaire d'�v�nements dans une fen�tre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    R�ponses: 15
    Dernier message: 23/08/2004, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo