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 continu


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut Evenement onclick continu
    Bonjour,
    j'utilise de l'ajax pour afficher/cacher une légende dans ma page et le problème est que quand je veux changer le onclick de la div qui est a afficher pour le mettre a cacher il fait comme si j'avais deja cliqué, donc ca fait une boucle infinie : voila le code.

    // fonction pour afficher les légendes.
    function AfficherLegende(fichier){
    alert("afficher");
    //si besoin on réinitialise l'instance (pour ie7 surtout).
    if(http.onreadystatechange)
    http = ObjetHttp();
    // mise au point du pointeur sur ReponseLegende en cas de changement d'état.
    http.onreadystatechange = ReponseLegende;

    // création de la requète : aller chercher le fichier.
    http.open("POST","Legende.php",true);
    http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // envoie de la requète.
    http.send("fichier="+fichier);
    legende = document.getElementById("Legende");
    legende.onclick = CacherLegende(fichier);
    }
    //fonction pour cacher les légendes.
    function CacherLegende(fichier){
    alert("cacher");
    legende = document.getElementById("Legende");
    contenuLegende = legende.getElementsByTagName("p");
    legende.removeChild(legende.lastChild);
    legende.onclick = AfficherLegende(fichier);
    }
    <div id="Legende" onclick=\'AfficherLegende("stats");\'><span class="sous-titre">L&eacute;gende</span></div>
    Pourriez-vous me donner une manière de stopper l'evenement onclick ou de contourner le probleme svp?

  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,
    plutôt que modifier la structure de ta page (en ajoutant supprimant la légende), pourquoi ne pas juste l'afficher/masquer avec style.display="none" ou "block" ?

    A+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Pas bète ^^ merci, je vais surement faire comme ça, mais j'aime bien faire compliqué des fois ^^.
    Par contre si quelqu'un connais la réponse à ma question je suis quand même toujours intérréssé par savoir.

  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 Soulame
    Par contre si quelqu'un connais la réponse à ma question je suis quand même toujours intérréssé par savoir.
    Je suis pas sûr que ça soit la solution à ton pb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" value="Go" onclick="return false; alert('Alors ?');">
    A+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Non désolé ca marche pas comme ca.
    J'ai toujours une bouble infinie qui se crée qui tourne entre la fonction afficher et cacher (du toujours au afficher = > element.onclick = cacher et cacher = > element.onclick = afficher).

  6. #6
    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 142
    Points
    11 142
    Par défaut
    bonjour,

    et comme ceci :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     legende.onclick = function(){AfficherLegende(fichier);}

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Nikel merci beaucoup.

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

Discussions similaires

  1. evenement onclick ne fonctionne pas avec explorer??
    Par nath-0-0 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/03/2006, 12h13
  2. Bouton alternant 2 fonctions sur le meme evenement onClick
    Par Rocca dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/01/2006, 09h16
  3. Evenement OnClick qui ne fonctionne pas sous firefox
    Par frechy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2005, 16h06
  4. Réponses: 6
    Dernier message: 23/12/2005, 13h51
  5. [VB6] attendre un événement pour continuer l'exécution
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 12/11/2002, 13h08

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