2010-03-16 9 views
4

J'ai ce codeAprès append() comment lier un événement click à l'élément venez d'ajouter

$(".delete2").click(function() { 
    $('#load2').fadeIn(); 
} 

Je dynamiquement ajouté élément via ce retour

addSubcategory = function(){ 
     sucategorynameval = $("#sucategoryname").val(); 
     categoryId  = $("#addcategoryid").val(); 
     $.get("process-add-subcat.php", { "action": "add_subcategory", "sucategoryname": sucategorynameval, "categoryId":categoryId }, 
       function(data){ 
       //$("#main-cat-"+categoryId).load(location.href+"&pageExclusive=1 #main-cat-"+categoryId+">*",""); 
       $("#main-cat-"+categoryId).append(data); 
       $("#addcategoryid").val(''); 
       $("#sucategoryname").val(''); 
       }); 

Les données renvoyées contient delete2 élément classé .

Comment appliquer l'événement click au nouvel élément ajouté?

Répondre

3

bien vous pouvez juste rebind avec la même fonction de clic que vous avez utilisé avant ou que vous utilisez .live() http://api.jquery.com/live/

+6

Comme de jQuery 1,7, le procédé .live() est obsolète. Utilisez .on() pour attacher des gestionnaires d'événements. Les utilisateurs d'anciennes versions de jQuery devraient utiliser .delegate() de préférence à .live(). Voir http://api.jquery.com/live/ –

2

Remplacer

$(".delete2").click(function() { 
    $('#load2').fadeIn(); 
} 

avec

$(".delete2").live('click', function() { 
    $('#load2').fadeIn(); 
}); 

De cette façon, la l'événement click est lié à tous les éléments existants dans la future création avec la classe .delete2

1
$(<parent selector>).on('click', '.delete2', function() { alert('test'); }); 

Changer le sélecteur de parent à l'identifiant ou la catégorie de l'élément parent

+0

Ce code n'est pas une réponse à la question Pentium10. Veuillez décrire et donner le bon code – makciook