Bonjour,
Voici mon problème. Je ne peux pas fermer ma box. Même en utilisant la fonction "alert" ça ne fonctionne pas.

Voici mon code:

js:

$(document).ready(function(){
   ideas.init();
});
var ideas = {
    init : function(){
        $("a[rel='ideas']").click(function(){
            ideas.url = $(this).attr('href');
            ideas.open(ideas.url);
            $(".close").click(function(){alert('mdr');});
            return false;
        });
    },
    open : function(url){
        /*
        $('body').append("<div id='box'>\n\
          <div class='fond'></div>\n\
          <div class='container container_6'></div>\n\
          </div>");
        */
        $('<div id="page" class="grid_6"></div>').insertAfter('div#sidebar');
        $.get(url,{method:"ideas"},function(data){
            ideas.anim(data);
        });
    },
    anim : function(data){
        /*
         $("#box .fond").animate({opacity: 0.5}, 500, function(){});
        $("#box .container").append(data);
        $("#box .container article").animate({top: 0}, 1000, function(){});
        */
        $("div#page.grid_6").append(data);
    },
    close : function(){$("div#page.grid_6").remove();}

}

html:

<article>
    <div>
        <h1><?php the_title(); ?></h1>
    </div>
    <div class="clear"></div>
    <div><?php the_post_thumbnail('thumbnail', 'class=visuel'); ?><?php the_content(); ?></div>
    <div class="clear"></div>
    <div>
        <a href="#" class="close">Fermer</a>
        <a href="<?php the_permalink() ?>" class="link">Voir <?php echo $link; ?></a>
    </div>
    <div class="clear"></div>
</article>

Je pourrais ajouter ceci à mon lien :

<a href="#" class="close" onclick="$(div#page).remove();">Fermer</a>

Je suppose que ça vient de $.get car sans celui tout fonctionne.

6 réponses


Grafikart
Réponse acceptée

Sinon remplace ton :

$(".close").click(function(){alert('mdr');});

par

$(".close").live('click',function(){alert('mdr');});

En fait le souci c'est que vu que tu ajoute du contenu Après coup ça ne greffe par le comportement close comme tu le souhaite. Le live lui greffera le comportement même si le contenu est ajouté après coup.

Tu vois une erreur dans la console de ton navigateur ? ou tu as un exemple online ?

Heu non dans la console, je n'ai aucun résultat.

Voici le lien : Lien

Oui,
je voulais évité de l'utiliser en fait.
Mais avec ça fonctionne (localhost).

Je vais surement adopter cette solution, c'est ce qu'il y a de plus simple.

Ah cool. Ça fonctionne.
Ça va m'aider pour un autre truc grâce à ton explication.
Merci de ton aide.