jQuery click事件在添加方法后不起作用

所以我有这个按钮,它将在表中添加新行,但是我的问题是,.new_participant_form在执行append方法之后,它不再侦听click事件。

单击添加新条目,然后单击表单名称。

$('#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);

});

});

回答:

<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>

回答:

使用上:

$('#registered_participants').on('click', '.new_participant_form', function() {

这样,即使在绑定事件处理程序之后添加了单击,也可以将单击委派给#registered_participants具有class的任何元素new_participant_form

以上是 jQuery click事件在添加方法后不起作用 的全部内容, 来源链接: utcz.com/qa/414801.html

回到顶部