添加后如何为特定类启用拖动排序?

时间:2014-01-21 01:01:50

标签: javascript jquery list sorting drag-and-drop

好的,我的拖放可排序列表存在问题。

The site

我想要它的工作方式,当你想编辑一个列表项时,你只需点击该项目,它就会变成编辑模式。字段显示出来。现在,您可以通过单击项目上的任意位置来拖动项目,然后只需拖动即可。

为了澄清,您不应该从头开始拖动项目。它只能在编辑模式下完成。

问题:我使用jQuery addClass将项“sel”添加到项目中, droppable函数没有注册。所以我不能使用句柄“.sel> .dd-handle”。如果我在添加课程后更新列表,我刚刚添加的课程就会消失。

以下是添加选择类的功能:

$(document).on('click', 'a.edit', function(event)
{
    event.stopPropagation();

    $(this).closest('li').addClass('sel');

    //update_sort();

    event.preventDefault();
});

这是加载页面时运行的update_sort函数:

function update_sort()
{
var tree = $(".dd-list").liveflex_treeview({
      handle        : '.sel > div.dd-handle'
    , droparea      : 'div.dd-handle'
    , opencollapse  : '.opencollapse'
    , itemMoved     : function(e)
                    {
                        var sort_array = e.serialise();

                            // Save order
                            $.post('/url_fetch/sort_posts', { 'sort_array' : sort_array }, function()
                            {
                                check_through();

                                console.log('Sparat sortering');    
                            });
                    }
});
}

(如你所见,我使用liveflex,它使用jQuery的可放置和可拖动功能。)

那么,为什么liveflex(droppable)没有注册addClass事件?或者为什么更新后“.sel”类仍然没有?

0 个答案:

没有答案