Jquery cliquez sur l'événement pas de travail après la méthode append

J'ai donc ce bouton qui ajoute une nouvelle ligne à la table, cependant mon problème est qu'il n'écoute pas la .new_participant_form cliquez sur l'événement plus après la méthode append a eu lieu.

http://jsfiddle.net/cTEFG/

Cliquez sur Ajouter une Nouvelle Entrée, puis cliquez sur le nom du Formulaire.

$('#add_new_participant').click(function() {
var first_name = $('#f_name_participant').val();
var last_name = $('#l_name_participant').val();
var role = $('#new_participant_role option:selected').text();
var email = $('#email_participant').val();
$('#registered_participants').append('<tr><td><a href="#" class="new_participant_form">Participant Registration</a></td><td>'+first_name+ ' '+last_name+'</td><td>'+role+'</td><td>0% done</td></tr>');
});
$('.new_participant_form').click(function() {
var $td = $(this).closest('tr').children('td');
var part_name = $td.eq(1).text();
alert(part_name);
});
});

HTML

<table id="registered_participants" class="tablesorter">
<thead>
<tr> 
<th>Form</th>
<th>Name</th>
<th>Role</th>
<th>Progress </th>
</tr> 
</thead>
<tbody>
<tr> 
<td><a href="#" class="new_participant_form">Participant Registration</a></td>
<td>Smith Johnson</td>
<td>Parent</td>
<td>60% done</td>
</tr> 
</tbody>
</table>
<button id="add_new_participant"></span>Add New Entry</button> 
  • Le problème est que l'événement est uniquement lié à la new_participant_form élément qui est déjà dans le document. Pour le faire fonctionner pour les éléments vous permettra d'ajouter plus tard, vous pouvez utiliser l'événement de la délégation, comme dystroy a démontré, ou de fixer le gestionnaire de chaque ancre avant de l'insérer (le premier est plus efficace).
InformationsquelleAutor Edward | 2013-03-14