jquery - 克隆的行丢失功能

时间:2012-07-28 17:32:47

标签: jquery clone tablerow

NEVERMIND ....我使用了直播,似乎有用......

我有包含表单元素的表。当用户输入新值并单击添加按钮时,将克隆表的最后一行,并使用新信息更新输入字段。此外,每行包含一个删除图标。当用户单击删除图标时,将删除其所属的行。

我完成所有工作......

外,克隆行的删除图标不起作用。当你点击它并且我尝试了各种各样的东西时没有任何事情发生,但似乎无法想象那部分......我刚刚开始使用jquery就像一个月前一样,并且认为我错过了一些明显的东西,但不确定是什么。 ..

我把代码放在jsfiddle上,希望有人可以提供帮助:

http://jsfiddle.net/sMqcB/

2 个答案:

答案 0 :(得分:0)

因为那些是新注入的元素到DOM。它不知道您已定义的现有点击事件。

解决方案:使用jQuery的on方法。

更改

$('img.seminars-faux-remove').click(function() {
    $(this).closest('tr').remove();
});

$(document).on("click",'img.seminars-faux-remove',function() {
    $(this).closest('tr').remove();
});

jQuery on将适用于当前和未来的元素。此方法可从jQuery 1.7+开始使用。如果您使用的是旧版本的jQuery,则可以考虑使用live。但是如果你使用1.7+,你应该使用jQuery。

答案 1 :(得分:0)

您可以使用.clone(true)代替.clone()来保留功能。请参阅.clone()文档,特别是[withDataAndEvents]参数的含义。

DEMO