javascript - jQuery 追加并使用 on 绑定(bind)点击事件

标签 javascript jquery html jquery-on jquery-append

我正在尝试创建一个表行,其中有一个按钮,单击该按钮时会创建一个新的表行。新行上也有相同的“添加行”按钮,我希望能够单击该按钮来添加另一行。但我似乎无法将单击事件绑定(bind)到单击事件中附加的元素。我确信我错误地使用了“on”,但我似乎不知道如何做到这一点。

http://jsfiddle.net/vivojack/WkfvC/2/

我的(简化的)html

<table id="ct">
    <tbody>
    <tr id="list_items_11" class="list_item">
        <td>This Line</td>
        <td><input type="button" name="addNewArea" class="addNewArea button" value="+"></td>
      </tr>
   </tbody>
</table>

我的(简化的)javascript

$('#ct tbody tr td').on('click', '.addNewArea', function(event) {   
    var areaCount = $('#ct tbody tr').length;
    var newAreaLine = '<tr id="list_items_' + areaCount + '" class="list_item"><td>New Line</td><td><input type="button" name="addNewArea" class="addNewArea button" value="+" /></td></tr>';
    $(newAreaLine).appendTo('#ct tbody');
    $(this).remove();
});

提前致谢。

最佳答案

您必须将处理程序绑定(bind)到非动态的元素。您正在尝试绑定(bind)到 td,但在您进行绑定(bind)时它并不存在。您可以改为绑定(bind)到表:

http://jsfiddle.net/TMvN6/

$('#ct').on('click', '.addNewArea', function(event) {   

关于javascript - jQuery 追加并使用 on 绑定(bind)点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19282406/

相关文章:

html - 有没有更好的方法来实现多个@font-faces?

javascript - 如何让我的汉堡包导航图标正确转换?

javascript - 复制粘贴在 Firefox 后数字验证的文本框中不起作用

html - JQuery - 从其可滚动区域取消链接可拖动元素

php - 表格不显示空记录

javascript - Html/JavaScript 预加载图像

javascript - 在事件处理程序中获取原型(prototype)

javascript - 将 jQuery.html() 的值加在一起?

javascript - 从父选项卡读取变量

javascript - 获取底层 jQuery 元素 ID 的绝对最快方法?