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 :

Ajouter un événement à une div


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut Ajouter un événement à une div
    Hello,
    je crée dans ce code une div dans mon document, et j'aimerais qu'elle réagisse à un événement (genre onmouseover par exemple)
    j'ai tenté ceci, sans succès :

    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
    31
     
    <html>
    <head>
     
    <script type="text/javascript">
    function f(){
     
    var ddiv = document.createElement("div");
    	ddiv.style.position = "absolute";
    	ddiv.style.top = "100px";
    	ddiv.style.left = "50px";
    	ddiv.style.width = "400px";
    	ddiv.style.height = "300px";
    	ddiv.style.background = "red";
    	ddiv.onmouseover = g();
     
    	document.getElementById("test").appendChild(ddiv);
    }
     
    function g(){
    	alert("appel");
     
    }
     
    </script>
    </head>
    <body>
    	<input type="button" value="create div" id="but" onclick="f()"/>
    	<div id="test"></div>
    	</body>
    </html>
    ah autre petit prob aussi : j'ai voulu faire le appendChild au document :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.appendChild(ddiv);
    mais Firefox me dit "node cannot be inserted at the specified point in the hierarchy". Pourquoi ?
    Merci

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    ben c'est simple...

    CAS A:
    typeof(g()) == "undefined" (pas de return) ==> l'event vaut undefined qui n'est pas une fonction : pas d'event
    typeof(g) == "function" ==> event attribué à la fonction (eventHandler)


    CAS B:
    document.body.appendChild

    Amicalement,
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    CAS A
    ok merci !!!
    à noter que j'ai encore enlevé les parenthèse lors de l'affectation de mon event handler pour que ça marche :

    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
     
    <html>
    <head>
     
    <script type="text/javascript">
    function f(){
     
    var ddiv = document.createElement("div");
    	ddiv.style.position = "absolute";
    	ddiv.style.top = "100px";
    	ddiv.style.left = "50px";
    	ddiv.style.width = "400px";
    	ddiv.style.height = "300px";
    	ddiv.style.background = "red";
    	ddiv.onmousemove = g;
    	document.body.appendChild(ddiv);
    }
     
    function g(){
    	alert("appel");
    	return;
    }
     
    </script>
    </head>
    <body>
    	<input type="button" value="create div" id="but" onclick="f()"/>
    </body>
    </html>
    CAS B -> merci !

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

Discussions similaires

  1. Tracking adsense : ajouter un événement sur une iframe
    Par Galdon dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/06/2009, 16h07
  2. Réponses: 1
    Dernier message: 25/02/2009, 11h34
  3. Réponses: 4
    Dernier message: 20/12/2007, 12h00
  4. [DOM] Ajouter une DIV dans une page web
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/09/2007, 16h48
  5. [DOM] Pb gestion de l'évènement mouseout sur une <DIV>
    Par rvux69 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/01/2007, 21h27

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