jQuery clone(true,true)在这种情况下不触发事件侦听器bootstrap的data-widget =“ remove”

时间:2018-11-22 09:42:29

标签: javascript jquery

我有一个默认的li,我希望在每次事件触发并附加到ul时进行复制和修改。如果删除jquery clone,它可以与事件侦听器一起正常工作,但是当我添加clone(),clone(true)或clone(true,true)时,它将不起作用。

我似乎无法弄清楚我在这里做错了什么。

这是我的下面的代码:

<li class ="default-list box box-warning box-solid">
    <div class="box-header with-border  draggable">
        <h3 class="box-title">Collapsable</h3>
        <div class="box-tools pull-right" data-toggle="tooltip">
              <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
        </div>
    </div>
    <div class="box-body">
    </div>
</li>

js:

$(".create-new-graph").on('click', function () {
    type = $(".tab-content div.active").attr('name');
    activeTab = $(".tab-content div.active ul");
    childrenLen = activeTab.children().length + 1;
    defaultList = $(".default-list").clone();
    defaultList.removeClass("default-list");
    defaultList.find("div.box-body").attr("id", type + childrenLen);
    activeTab.append(defaultList);
    time = ['0:00', '1:00', '2:00', '3:00', '4:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00'];
    var data = [];
    y = 0;
    while(y < 24){
        var rand = Math.floor(Math.random() * 10);
        data.push(rand);
        y++;
    }
    createGraph(data, time, 'tempabc', type + childrenLen);
    defaultList.show();
});

1 个答案:

答案 0 :(得分:0)

将所有工具提示重新初始化(或仅重新添加)

activeTab.append(defaultList);
$('[data-toggle="tooltip"]').tooltip()