使用Jquery添加事件侦听器

时间:2014-04-10 12:46:48

标签: javascript jquery html

我正在创建一个div的克隆,但遗憾的是我无法向克隆的div添加事件监听器。

我尝试使用clone(true,true),但仍然没有让它运行。

有人可以帮我解决一下吗

JS fiddle for clone

点击And旁边的图片,添加一个新的div

代码我试图添加事件监听器

$("#add").on('click',function () {
    $("#cont").clone(true, true).appendTo(".container");

});

1 个答案:

答案 0 :(得分:3)

首先,您应该将cont id更改为一个班级,因为多个id是错误的,无法正常运作。

其次,使用jQuery的first方法获取返回的jQuery节点列表中的第一个,从抓取所有cont类:$('.cont')然后克隆节点。你必须只获取第一个,否则你最终会将div的倍数添加回页面。

$(".cont").first().clone(true, true).appendTo(".container");

第三,将delete id更改为一个类。

第四,因为您要添加到DOM,所以需要在父节点上使用event delegation才能正确捕获事件。使用closest查找最近的cont课程并将其删除。

$('.container').on('click', '.delete', function () {
    $(this).closest('.cont').hide();
});

Fiddle

希望这有帮助。