拖动时,Jquery sortable无法将列表附加到另一个列表

时间:2013-08-20 09:14:51

标签: jquery jquery-ui-sortable

我有Jquery可排序插件的另一个问题, 这是我昨天提出的最后一个问题:

Jquery sortable plugin for unordered list multi dimension

为了完成我的任务,当我删除我的列表元素时,它会成功附加到列表中,条件是此列表中有子项,如果我将元素放在没有子项的列表中,则它不起作用,我的元素回到了他的位置。这是正常的,因为我的恢复是固定的。

更明确一点,当我拖动'212'标签并将其放入'206'标签时,它工作正常(因为'206'标签已经有了孩子), 但是,如果我反向,所以我拖动'206'标签(它与它的孩子一起移动),我试着把它放到'212'标签,它没有用(因为212没有孩子)。

我希望我可以拖放元素,在上面提到的例子中,例如'206'标签将是'212'标签的孩子。

我希望你理解我,

寻求帮助。

编辑:

与sortable的receive函数一样,与draragable函数中的drop相同,是否有一个sortable函数,当鼠标进入没有子元素的标记时触发事件?

编辑:

经过艰苦的头脑风暴:p,我的想法是我使用可排序插件中的启动和停止事件,

启动时我会在输入鼠标时将一个ul li附加到没有子项的标签中(事件mouseenter Jquery),并且当鼠标离开时我将删除附加标签(事件mouseleave Jquery) 并且停止我将删除所有事件。

结果在这里 www.jsfiddle.net/UQrRk/6/ 它不起作用,

有什么建议吗?认为

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,我决定在这里解释解决方案,这样每个有相同问题的人都可以找到解决方案,

这个想法是创建2个函数,一个是Jquery的可启动事件,另一个是停止事件

 start: function(event, ui) {
           ui.item.context.firstElementChild.remove();
            $('ul #discret').each(function() {
                $(this).show();

            });
        },
        stop: function(event, ui) {

            listProject();
        }

在$(document).ready中,你必须在li中添加一个没有孩子的ul li,然后用hide()Jquery隐藏它们。

当排序开始时,我们显示这些ul并在此li中放置一个可排序的项目(没有子项)变得简单。

停止时,我们列出项目。

再次考虑你的帮助。