这个问题与我之前提到的问题有关(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");
});
}
}
});
另一件事是我无法弄清楚如何让标签再次排序?它早些时候工作,但我失去了它停止工作的轨道,我不知道为什么它不再工作。
任何帮助将不胜感激。提前谢谢。
以下是Fiddle
编辑:更新了小提琴。问题不在于首先删除和添加选项卡。我解决了这个问题,但现在我有一个唠叨的问题。一切都按照我想要的方式工作,但是当我拖动一个标签时,它在拖动过程中是不可见的。
当我在适当的区域释放时,它被正确删除。
任何人都知道如何在拖动过程中看到Tab?
(如果您查看小提琴和带注释的部分“//使标签可拖动但使标签不可移动”,如果您启用下一行,则在拖动期间可以看到该标签,但是标签不会排序)
答案 0 :(得分:0)
当回退到$('#tabslList').droppable
时,它似乎变成了伪标签,具有所有正确的属性,但没有REAL标签的属性。我不认为刷新会为你做那件事。您需要以某种方式将其重新附加到$('#tabs')
,然后重新初始化.tabs()
小部件。