我将列表项克隆到另一个列表中。但是,克隆按钮中没有一个按钮在新列表中工作。我很难过。有什么想法吗?
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();
});
答案 0 :(得分:1)
使用event delegation将事件附加到动态插入的元素。
$(document).on('click', '.delete', function () {
$(this).parent().parent().parent().remove();
});
作为旁注,您应该使用.closest()
而不是链接多个.parent()
方法。
这样的事情会起作用:
$(document).on('click', '.delete', function () {
$(this).closest('.tn').remove();
});