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 du code à un OnClick existant


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut Ajouter du code à un OnClick existant
    Bonjour à tous,

    Je désire ajouter du code à un OnClick existant.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id='a' onClick="alert(1);"></div>
     
    $('a').onclick=function(){ alert(2);};
     
    //un peu plus loin 
     
    $('a').onclick=function(){ alert(3);};

    Et évidemment au final je veux que lorsque je clic sur l'élément cela fasse les 3 alerts à la suite.

    Résultat souhaité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $('a').onclick=function(){ 
    alert(1);
    alert(2);
    alert(3);
    };


    J'ai déja fait un fonction qui reçoit $('a').onclick et qui nettoie pour ne laisser que le code à l'intérieur. Cette fonction s'appel dynCleanFct(str);


    Donc pour le moment j'en suis là

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id='a' onClick="alert(1);"></div>
     
    var code=dynCleanFct($('a').onclick);
     
    $('a').onclick=function(){ 
    //il faut ajouter le contenu de code
    alert(2);
    };

    Le problème est que je ne sais pas comment ajouter le contenu de code dans


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('a').onclick=function(){ 
    "+code+"
    alert(2);
    };
    ne fonctionne pas vu que ce n'est pas un string à la base.

    Une idée ?


    De manière plus générale, comment intégrer du code javascript contenu dans une variable à une déclaration de fonction dynamique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var code='alert(1);'
     
    $('a').onclick=function(){ 
    "+code+"
    alert(2);
    };

    Merci,


    Vodnok,

  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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var oldClic = $('a').onclick;
    $('a').onclick = function(){
    //Code de la nouvelle fonction
    oldClic;
    }
    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 confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Non ca ne marche pas.


    Il ne remplace pas oldClic par son contenu.


    Au lieu d'avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fonction(){
    alert(1);
    alert(2);
    }
    J'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fonction(){
    oldClic;
    alert(2);
    }
    Et donc au final, il ne fait que alert(2)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Je viens de lire cet article http://www.howtocreate.co.uk/tutoria...ript/domevents


    Il y a la possibilité de passer par addEventListener mais j'aurais préféré la solution en dure dans le onclick.

  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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Hum...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var oldClic = $('a').onclick;
    $('a').onclick = function(){
    //Code de la nouvelle fonction
    oldClic();
    }
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Ca fonctionne avec le ();

    Mais... si je le fais deux fois d'affilée avec alert(2) puis alert(3), il me met too much recursion...


    Je vais encore cruser, merci pour ton aide.

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

Discussions similaires

  1. [Joomla!] ajouter du code lors de l'onClick sur menuItem
    Par Zineb1987_UNI dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/11/2010, 13h17
  2. Réponses: 2
    Dernier message: 25/06/2008, 09h58
  3. Ajout de code CSS dans un site existant
    Par nico93100 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 12/06/2007, 21h33
  4. Ajouter du code HTML à la volé.
    Par CynO dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/11/2005, 11h12
  5. Ajouter le multilinguisme à un logiciel existant
    Par [DreaMs] dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2005, 18h41

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