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 :

Evénement au clic de type Element.onclick = function


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut Evénement au clic de type Element.onclick = function
    Bonjour à tous,

    Comme dit dans le titre je cherche à lancer une fonction au clic sur un élement de la manière suivante:

    element.onclick = function;
    j'ai fait un script d'essai suite à quelques lectures de documents sur le web mais qui ne fonctionne pas, pourtant je suis sûr d'avoir suivi l'article à la lettre enfin on sait jamais, peut-être que j'ai loupé quelque chose. Voici mon script:

    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> 
    	<head>
    		<script type="text/javascript">	
     
    		var el = document.getElementById('rouge');
    		el.onclick = change;
     
    		function change()
    			{
    			document.getElementById("vert").style.zIndex = "2";
    			document.getElementById("rouge").style.zIndex = "1";
    			}				
    		</script>
    	</head>
    <body>
    <div id="rouge" style="width:500px;height:500px;background:red;position:relative;z-index:2;">
    	jkhcxkvjh
    </div>
    <div id="vert" style="width:500px;height:500px;background:green;position:relative;z-index:1;top:-250px;left:250px;">
    	jkhvhxkjvhx
    </div>
    </body>
    </html>
    et voici le code erreur que j'obtiens :

    Détails de l’erreur de la page Web

    Message*: 'el' a la valeur Null ou n'est pas un objet.
    Ligne*: 7
    Caractère*: 3
    Code*: 0
    URI*: http://localhost/z-index.html
    Merci à tous pour vos réponses et vos aides.

  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
    Citation Envoyé par xess91 Voir le message
    je suis sûr d'avoir suivi l'article à la lettre enfin on sait jamais, peut-être que j'ai loupé quelque chose.
    Oui, au moment où tu déclares ta variable el, le DOM n'a pas encore été formé, donc il n'y a pas dans le document d'élément avec l'id 'rouge', donc el a bien la valeur null

    Regarde du coté de window.onload.
    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
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut
    C'est à dire du coté de window.onload !!

    Dans quel but...pour quel element...pour lancer une fonction... ???

  4. #4
    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
    onload est un événement déclenché lorsqu'un élément de type remplacé (body, img, frame, object etc.) a terminé d'être chargé.
    Il est essentiellement utilisé en attribut de la balise body ou de l'objet JavaScript window pour savoir que la page est complètement chargée et que le DOM est disponible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onload = function(){...}
    ou
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="...">
    Dans ton cas par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    window.onload = function(){	
        var el = document.getElementById('rouge');
        el.onclick = change;
    }
    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

  5. #5
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut
    Ok je comprends maintenant. Je te remercie

    EDIT:

    juste une dernière question comment connaitre l'id de l'element cliqué ?

    J'ai essayé avec currentTarget et event.target mais ma syntaxe ne doit pas être correcte car j'ai en retour élement indéfini....

    Youpi j'ai la soluce this.id pourquoi faire simple quand on peut faire compliqué....

    Merci Developpez.net un vrai forum de pro et bravo à l'équipe de modaux je vous nommes les incollables sauf pour "Adobe AIR" non je déconne un grand merci à vous

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

Discussions similaires

  1. Réponses: 28
    Dernier message: 16/04/2009, 16h35
  2. [Lazarus] Paramètre de type procedure ou function
    Par pduceux dans le forum Lazarus
    Réponses: 5
    Dernier message: 03/09/2007, 09h45
  3. Réponses: 4
    Dernier message: 30/05/2007, 11h17
  4. onclick+ function javascript=probleme
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/10/2006, 12h54
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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