克隆后按钮不起作用

时间:2015-01-24 21:21:32

标签: jquery button clone

我将列表项克隆到另一个列表中。但是,克隆按钮中没有一个按钮在新列表中工作。我很难过。有什么想法吗?

JSfiddle:here

脚本:

    $(this).find(".add-playlist").on('click', function (ev) {
        var $clone = $(this).parent().parent().parent().clone(true);
        var $newbuttons = '<button class="btn btn-default clone" role="button">Clone</button><button class="btn btn-default delete" role="button">Delete</button>';
        ev.preventDefault();
        $clone.find('.tn-overlay').css({'top': '100%'}).end().find('.tn-buttons').html($newbuttons).end().appendTo($('#pl #da-thumbs')).hoverdir();
     });

$('.delete').click(function () {
    $(this).parent().parent().parent().remove();
});

1 个答案:

答案 0 :(得分:1)

使用event delegation将事件附加到动态插入的元素。

Updated Example

$(document).on('click', '.delete', function () {
    $(this).parent().parent().parent().remove();
});

作为旁注,您应该使用.closest()而不是链接多个.parent()方法。

这样的事情会起作用:

$(document).on('click', '.delete', function () {
    $(this).closest('.tn').remove();
});