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] Attribuer une fonction à un event [Fait]


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Points : 62
    Points
    62
    Par défaut [DOM] Attribuer une fonction à un event
    Bonjour,
    Je n'ai pas un problème en particulier mais je voudrais juste savoir si on pouvait rendre le code qui va suivre un peu moins "lourd".

    Code actuel :

    HTML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="myId" onclick="fonction1()"></div>
    JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function fonction1(div)
    {
        alert("fonction1");
        $('div').onclick= function() { fonction2(); };
    }
    function fonction2()
    {
        alert("fonction2");
        $('div').onclick= function() { fonction1(); };
    }
    Je suis obligé de faire ça car :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('div').onclick= fonction1();
    ne fonctionne pas, il exécute directement la fonction et ne l'implémente pas sur le onclick, donc je voulais juste savoir s'il existait une méthode un peu plus propre ou est ce que ça l'est déjà en fait ?

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('div').onclick= fonction1;
    A+

  3. #3
    Membre du Club Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Points : 62
    Points
    62
    Par défaut
    En fait mon exemple de code n'était pas complet, j'ai besoin d'envoyer un paramètre dans la fonction, donc je pense que "fonction1" n'est pas suffisant ?

    Si je met "fonction1(monParam)" ça ne marche pas justement, la fonction est exécutée directement, en gros quand je clique j'ai mon alert1 et directement alert2...

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Scalp4 Voir le message
    En fait mon exemple de code n'était pas complet, j'ai besoin d'envoyer un paramètre dans la fonction,
    Arf !
    Dans ce cas, la solution "lourde" initiale est la plus appropriée ...

    A+

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Je pense que la meilleure solution est de passer par le DOM cf. mon problème actuel sur tout autre chose. Avec cette méthode, soit on attache l'évènement à l'élément, soit on fait de la délégation ce que je préfère, car plus clair je pense.

  6. #6
    Membre du Club Avatar de Scalp4
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 106
    Points : 62
    Points
    62
    Par défaut
    Merci des infos, jvais lire ton test Franculo.

Discussions similaires

  1. [DOM] appeler une fonction via son nom (qui est une string)
    Par elekis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2008, 13h06
  2. [DOM] connaitre l'objet DOM appelant une fonction javascript
    Par HPmeteo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/09/2007, 18h03
  3. [DOM] utiliser une fonction
    Par leaemile dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/08/2007, 12h38
  4. Lancer depuis une fonction des events de composants ?
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 1
    Dernier message: 09/06/2007, 16h55
  5. [DOM] lancer une fonction javascript dans un lien HTML
    Par cortex007 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/11/2006, 21h11

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