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 :

evenement onclick dans un script


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut evenement onclick dans un script
    bonjour,
    je ne comprend pas pourquoi mais je ne parviens pas à créer un événement onclick depuis mon script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ma_div').onclick = ma_fonction('attribut1','attribut2');
    il ne se passe rien du tout.
    quelqu'un peut il mexpliquer comment faire?merci

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour,

    avec cette syntaxe :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById('ma_div').onclick = function(){ma_fonction('attribut1','attribut2');}

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 145
    Points : 91
    Points
    91
    Par défaut
    merci pour ta réponse ça a résolu mon problème, mais avant de changer le status de mon post, peux tu mexpliquer pourquoi il faut utiliser cette synthaxe?
    je ne comprend pas pourquoi il faut mettre function(){...}
    merci

  4. #4
    Membre confirmé 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 : 44
    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
    Points : 460
    Points
    460
    Par défaut
    simplement parce que onclick appelle une fonction en lui passant systématiqement un argument qui est l'événement qui l'a déclenché.

    Il faut donc que tu crées une fonction qui soit appelée suite à l'évènement (et qui utilise ou non ledit évènement en ayant ou pas UN paramètre) et que ce soit ensuite cette fonction qui appelle ta fonction avec le nombre de paramètres et les valeurs que tu veux.

  5. #5
    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 : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par yjuliet
    simplement parce que onclick appelle une fonction en lui passant systématiqement un argument qui est l'événement qui l'a déclenché.
    En javascript Standard c'est exact, mais malheureusement sous IE l'évenement
    se récupère avec window.event, il n'est pas passé en paramètre. Je sais pas si
    c'est corrigé sur IE 7 :-)

  6. #6
    Membre confirmé 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 : 44
    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
    Points : 460
    Points
    460
    Par défaut
    non,pas mieux sur IE7, du moins pas d'après mes expériences récentes ...
    ça ne change pas grand chose à mon explication, le prototype de la fonction qui reçoit l'évènement est standardisé... ???

  7. #7
    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 : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par yjuliet
    le prototype de la fonction qui reçoit l'évènement est standardisé...
    Qu'est-ce que tu entends par là ?

  8. #8
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    Fremy Comapny donne un explication très complète dans cette discussion.

    Il traite le cas où l'événement ou l'objet appelant (this) est passé en paramètre.

    Il serait sans doute intéressant que Fremy reprenne cette discussion en créant un nouveau sujet dans la partie contribution.

  9. #9
    Membre confirmé 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 : 44
    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
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par marcha
    Qu'est-ce que tu entends par là ?
    J'entendais par là que tu ne peux pas appeler une fonction avec tous les paramètres que tu veux comme tu veux.

  10. #10
    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 : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Si, en javascript, pas de problème. Tu peux avoir une signature
    de ce type:

    function toto(titi);

    et tu peux l'appeler ainsi

    toto();
    toto(blabla);
    toto(bla, 12, 4, true);

    ça pose aucun problème.

    si un paramètre attendu n'est pas donné, il vaut "undefined" si des paramètres
    non attendus son reçu en plus, tu peux les retrouver avec le tableau arguments.

Discussions similaires

  1. Déclencher onclick dans un script
    Par maxtrident dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 12/12/2014, 18h40
  2. evenement onclick dans php
    Par asus02 dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2012, 07h32
  3. Ajouter Evenement Onclick dans une classe
    Par Homo_Informaticus dans le forum VB.NET
    Réponses: 1
    Dernier message: 24/03/2011, 13h45
  4. l'evenement onclick dans un lien
    Par dada10 dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 22/03/2010, 22h09
  5. evenement onclick dans du code html généré par js
    Par gelko dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2006, 09h24

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