2010-01-20 5 views
1

J'essaie de cacher() un élément qui vient d'être créé par un click() ailleurs sur la page. D'autres éléments qui existaient lors du chargement de la page vont enregistrer le clic et être bien cachés, mais les éléments créés après le chargement de la page ne le seront pas.click() pas d'enregistrement sur un élément précédemment créé par jQuery

Ici je crée un nouvel élément avec le texte en lui d'un autre élément qui est caché:

$("#cloud li").click(function(){ 
    var cat = "<li class='item'>"+$("a", this).text()+"<div class='action'><div class='close'></div></div></li>"; 
    $("#left ul").append(cat); 
    $(this).remove(); 
}); 

Et là, je suis en train de cacher l'élément qui vient d'être créé:

$('.item .action .close').click(function(){ 
    $(this).parent().parent().removeClass('active').fadeOut('fast'); 
}); 

Répondre

1
$("#cloud li").click(function(){ 
    var cat = "<li class='item'>"+$("a", this).text()+"<div class='action'><div class='close'></div></div></li>"; 
    $("#left ul").append(cat); 
    $(this).remove(); 
}); 

$('.item .action .close').live('click', function(){ 
    $(this).parent().parent().removeClass('active').fadeOut('fast'); 
}); 

Essayez d'utiliser live.

Questions connexes