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 :

load ne fonctionne qu'une fois


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut load ne fonctionne qu'une fois
    bonjour j'arrive à ouvrir une colorbox avec la fonction load mais le clic ne fonctionne qu'une fois

    quand je ferme ma colorbox et que je souhaite l'ouvrir à nouveau le lien ne fonctionne plus

    voici mon code:


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <a href="page1.html" id="ext" class="ext">Mon portfolio</a>
    <script>
     
    $(document).ready(function() {
      $("body").on('click', '.ext',function(event) {
      event.preventDefault();
        var url = $(this).prop('href');
    	$('body').append('<div id="ajax-load-element-wrapper" style="display:none;"><div id="hopla"></div></div>');
     
    	$('#hopla').load(url, function() {
            $.colorbox({
                href: '#hopla',
                width: 960,
                height: 400,
                inline: true,
                opacity: .7
            });
        });
     
     
      });
    });
     
     
     
    </script>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    à chaque clic, vous ajoutez un élément avec l'identifiant "hopla" ce qui ne va pas puisque les identifiants doivent être uniques sur une page.
    essayer peut être de tester si cet élément existe déjà avant de l'ajouter.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 43
    Points : 24
    Points
    24
    Par défaut
    si je teste avec ce code ça fonctionne sans soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $(document).ready(function() {
      $("body").on('click', '.ext',function(event) {
      event.preventDefault();
        var url = $(this).attr('href');
    	$('body').append('<div id="hopla"></div>');
        $("#hopla").load(url);
     
      });
    });
    j'ai essayé avec 2 colorbox et une fois que je clique sur la 1ere impossible d'afficher la seconde qui ne porte pourtant pas le même id

    par contre j'ai trouvé ceci:

    This will automatically separate the element within the URL, as required by the $.load() function.
    This means that you can maintain graceful degradation by using URLs like this in your tags:
    /test.html#div
    Since the JS will automatically add a space before the #div, as required by $.load().

Discussions similaires

  1. On Error GoTo qui ne fonctionne qu'une fois
    Par bernard0828 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2007, 07h39
  2. bouton submit qui ne fonctionne qu'une fois
    Par sam01 dans le forum Langage
    Réponses: 6
    Dernier message: 06/07/2007, 08h19
  3. [AJAX] Méthode sous Ajax qui ne fonctionne qu'une fois?
    Par patrice419 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/04/2007, 13h19
  4. Réponses: 2
    Dernier message: 26/06/2006, 13h43
  5. allocation dynamique ne fonctionne qu une fois.
    Par michael urbain dans le forum C
    Réponses: 7
    Dernier message: 11/03/2006, 10h51

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