当前位置: 首页 > 面试题库 >

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

仲孙文乐
2023-03-14
问题内容

所以我有这个按钮,它将在表中添加新行,但是我的问题是,.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);

    });
});

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>

问题答案:

使用上:

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

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



 类似资料:
  • 问题内容: 我正在使用jQuery v.1.7.1,其中显然不推荐使用.live()方法。 我遇到的问题是,使用以下方法将html动态加载到元素中时: 如果我尝试在之后添加click事件,则不会使用以下两种方法之一注册事件: 要么 实现此功能的正确方法是什么?它似乎只对.live()有效,但我不应该使用该方法。请注意,#child是动态加载的元素。 谢谢。 问题答案: 如果您希望单击处理程序适用于

  • 问题内容: 我正在使用http://datatables.net/ 我在onclick事件上触发ajax调用,下面是ajax调用代码: 我试图运行一个onclick事件,该事件通常在第一页上正常工作,但是一旦我转到第2页(或其他任何页面),它就会停止工作。 我正在使用jquery-1.10.2.min.js和1.9.4版本的数据表 问题答案: 因为事件仅附加到现有元素。 您应该将其更改为: 在jQ

  • 把PointLight改成平行光就可以显示出来。

  • 问题内容: 我有一份注册表,正在使用它提交。 这是我的AJAX请求: 在我的 Submit1.php 文件中,我检查数据库中是否存在 电子邮件地址 和 用户 名字 段。如果这些值存在 而没有页面刷新, 则希望显示一条错误消息。 如何将其添加到我的AJAX请求的 成功 回调中? 问题答案: 结果可能不是JSON格式,因此当jQuery尝试如此解析时,它将失败。您可以使用回调函数捕获错误。 无论如何,

  • 我在编辑时注册了触发器- 我也试过了,但没有注册触发器,以防发生奇怪的碰撞。是否需要执行其他操作来触发该函数?