Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 多个选项卡+;可排序&x2B;已连接列表正确移动选项卡+;目标部门_Jquery Ui_Jquery Ui Tabs_Jquery Ui Sortable - Fatal编程技术网

Jquery ui 多个选项卡+;可排序&x2B;已连接列表正确移动选项卡+;目标部门

Jquery ui 多个选项卡+;可排序&x2B;已连接列表正确移动选项卡+;目标部门,jquery-ui,jquery-ui-tabs,jquery-ui-sortable,Jquery Ui,Jquery Ui Tabs,Jquery Ui Sortable,我已经设置了3组选项卡并使它们可排序。 我还通过排序表中的ConnectedList选项将它们连接起来。 当我将选项卡从一个列表移动到另一个列表时,我希望将选项卡+目标div移动到新的上下文中。 当前,当我单击“移动”选项卡时,目标仍在较旧的空间中,这是预期的。但主要的问题是,它仍然作为前一个选项卡集的一部分工作。 我想改变这种行为 <div id="tabs-1"><ul class="gadget-tabs">...</ul></div> &l

我已经设置了3组选项卡并使它们可排序。 我还通过排序表中的ConnectedList选项将它们连接起来。 当我将选项卡从一个列表移动到另一个列表时,我希望将选项卡+目标div移动到新的上下文中。 当前,当我单击“移动”选项卡时,目标仍在较旧的空间中,这是预期的。但主要的问题是,它仍然作为前一个选项卡集的一部分工作。 我想改变这种行为

<div id="tabs-1"><ul class="gadget-tabs">...</ul></div>
<div id="tabs-2"><ul class="gadget-tabs">...</ul></div> 
<div id="tabs-3"><ul class="gadget-tabs">...</ul></div>
<script>
$('div[id^=tabs-]').tabs();
$('.gadget-tabs').sortable({
        connectWith: ".gadget-tabs"
}).disableSelection();
</script>
$('div[id^=tabs-]')。tabs(); $('.gadget选项卡')。可排序({ 连接到:“.gadget选项卡” }).disableSelection();

请注意,所有选项卡都是ajax加载的。

以下解决方法在大多数情况下都可以正常工作,但仍会抛出未捕获的jQuery UI选项卡:不匹配的片段标识符。一些测试中出现异常。 想知道为什么会有这种不一致的行为

还有轻微的抖动,可以通过减少超时值来减少

<div id="tabs-1"><ul class="gadget-tabs">...</ul></div>
<div id="tabs-2"><ul class="gadget-tabs">...</ul></div> 
<div id="tabs-3"><ul class="gadget-tabs">...</ul></div>
<script>
$('div[id^=tabs-]').tabs();
$('.gadget-tabs').sortable({
        connectWith: ".gadget-tabs",
        receive: function (event, ui) {
            var receiver = $(this).parent();
            var sender = $(ui.sender[0]).parent();
            receiver.tabs('destroy');
            sender.tabs('destroy');
            setTimeout(function () { receiver.tabs(); sender.tabs()}, 100);
        }
}).disableSelection();
</script>
$('div[id^=tabs-]')。tabs(); $('.gadget选项卡')。可排序({ 连接到:“.gadget选项卡”, 接收:功能(事件、用户界面){ var receiver=$(this.parent(); var sender=$(ui.sender[0]).parent(); 接收者标签(“销毁”); 发送者标签(“销毁”); setTimeout(函数(){receiver.tabs();sender.tabs()},100); } }).disableSelection();