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

jQuery Discussion :

Execution de fonction


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut Execution de fonction
    Bonjour !

    Je débute en Jquery, et au-temps vous dire que je rame un peut ....... beaucoup ...

    voila mon problème : j'ai un bloc #offre.close( plus précisement un lien ) quand on clique dessus, la classe de ce lien et changé pour devenir #offre.open .
    Le but d'executé ce bloc avec une autre fonction ; au premier clic, la classe change, et aux dexième clic ... la deuxième fonction ne s’exécute pas

    Merci de votre aide

    code jquery :
    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
    jQuery( document ).ready(function() {
    	console.log ( "Document and his Jquery are RDY" ); 
    jQuery( "a#offre.close" ).click(function(event)
      {
    	  console.log ( "changement close en open " );
    	  jQuery("a#offre").addClass("open").removeClass("close");
       });
     
    jQuery( "a#offre.open" ).click(function(event)
    	{
    		console.log("changement open en close");
    		jQuery("a#offre").addClass("close").removeClass("open");
     
    });
    })

  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
    C'est normal... De plus, ce sujet à déjà été traité et résolu de très nombreuses fois...

    Lorsque tu déclares tes événements, ceux-ci s'appliquent aux éléments trouvés dans le document au moment de la déclaration. Donc à ce moment, il n'y a aucun élément a#offre.open et l'événement ne s'applique à aucun élément.
    Une solution pourrait être d'utiliser la délégation d'événement (Direct and delegated events), mais dans ton cas, c'est surtout la logique qu'il faudrait revoir.

    Tu n'as aucun besoin de définir deux événements pour le même élément, définir un seul événement avec deux actions distinctes en fonction de l'état est largement préférable.
    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 à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Par défaut
    Merci pour la réponce !


    Serait'il judicieux de ré-imaginer le code à partir de condition ?

    merci

  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 : 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
    $('#offre').on('click', function(){
        $(this).toggleClass('open', 'close');
    });
    est amplement suffisant...
    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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  2. Réponses: 1
    Dernier message: 17/10/2005, 22h47
  3. [VBA] Executer une fonction en passant son nom en argument
    Par David Guyon dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 19h56
  4. executer une fonction à la fermeture d'une fenêtre
    Par Oluha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/02/2005, 09h46
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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