0

这个问题与我之前问的一个问题有关(jQuery UI add Tabs with Drag e Drop

基本上,我唯一不知道的两件事是在我添加了一个新选项卡之后,但决定将其删除,然后将其放到不应该的地方(比如在另一个选项卡的顶部)如何让标签恢复到原来的位置?我知道我必须在这里添加它:

$('#tabsOptions ul').droppable({
drop: function (event, ui) {
    // Where the drop originates from
    if (ui.draggable.parent().attr("id") == "tabsList") {

        var expelledComponents = 
          $(ui.draggable.children("a").attr("href")).
               html().replace(emptyTab, "");

        $("#tabsComponentsList").append($(expelledComponents).html());

        $(ui.draggable.children("a").attr("href")).remove();

        $('#tabsOptions ul').append("<li>" + ui.draggable.text() + "</li>");

        $(ui.draggable).remove();

        //  Refreshes tabs - especially helpful when removing the first tab
        $('#tabs').tabs("refresh");

        $("#tabsComponentsList li").each(function (i, item) {
            $(item).attr("class", "selectable");
        });

        $("#tabsOptionsList li").each(function (i, item) {
            $(item).attr("class", "selectable");
        });
    }
}
});

另一件事是我不知道如何让标签再次可排序?它早些时候工作,但我失去了它停止工作的地方,我不知道为什么它不再工作了。

任何帮助,将不胜感激。提前致谢。

这是小提琴

编辑:更新了小提琴。问题不是首先删除和添加选项卡。我解决了这个问题,但现在我有一个唠叨的最后一个问题。一切都按照我想要的方式工作,但是当我拖动一个选项卡时,它在拖动过程中是不可见的。

当我在适当的区域释放时,它会被正确移除。

任何人都知道如何在拖动过程中使选项卡可见?

(如果您查看小提琴和带有注释“//使选项卡可拖动但使选项卡无法排序”的部分,如果启用下一行,则选项卡在拖动过程中可见,但选项卡不会排序)

4

1 回答 1

0

当放回它时,$('#tabslList').droppable它似乎变成了一个伪选项卡,具有所有正确的属性,但没有一个 REAL 选项卡的属性。我不认为刷新会为你做这件事,那里。您需要以某种方式将其重新附加到$('#tabs'),然后重新初始化.tabs()小部件。

于 2013-08-16T11:23:35.630 回答