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 :

addEventListener sur objet créé dynamiquement


Sujet :

JavaScript

  1. #1
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut addEventListener sur objet créé dynamiquement
    Salut,

    j'ai un petit soucis au niveau d'un listener que j'écoute lors de la création dynamique d'un élément HTML, plutôt que des mots voici du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var objArea = document.createElement('area');
    objArea.addEventListener("onmouseout", outItem, false);
    objArea.addEventListener("onmouseover", overItem, false);  
    objMap.appendChild(objArea);
    mes handlers outItem et overItem sont dans un script js qu'évidement j'ajoute à ma page HTML, pour le moment il ne font rien de plus que lancer un log sur la console, le problème étant justement que rien n'est écrit dans la console et donc que ces handlers ne sont jamais appelés.

    Je précise que j'utilise Dojo 1.3 au acs ou, mais a priori ca n'a pas d'incidence ...

    Merci

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,
    Je crois me souvenir qu'il faut les définir après avoir inséré le nouvel élément dans le DOM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var objArea = document.createElement('area'); 
    objMap.appendChild(objArea);
    objArea.addEventListener("onmouseout", outItem, false);
    objArea.addEventListener("onmouseover", overItem, false);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    sinon avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var objArea = document.createElement('area');
    objArea.onmouseout=function(){outItem()};
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sinon avant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var objArea = document.createElement('area');
    objArea.onmouseout=function(){outItem()};
    parfait cela fonctionne! Merci!

    à noter que la solution de Bovino ne fonctionne pas pour moi

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Jim_Nastiq Voir le message
    à noter que la solution de Bovino ne fonctionne pas pour moi

    Probablement parce qu'avec addEventListener, on ne met pas le on devant l'événement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var objArea = document.createElement('area'); 
    objMap.appendChild(objArea);
    objArea.addEventListener("mouseout", outItem, false);
    objArea.addEventListener("mouseover", overItem, false);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gestion des évènements sur objets dynamiques
    Par boss_gama dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/03/2009, 11h50
  2. Utiliser une CssClass sur objet dynamique
    Par starkson dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/07/2007, 09h54
  3. [IE vs FF] getElementsByName sur objet dynamique
    Par TSalm dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 01/03/2007, 18h48
  4. Réponses: 9
    Dernier message: 31/05/2006, 11h56
  5. Evenement sur objet dynamique
    Par CanardJM dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 19/11/2004, 13h56

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