使用jQuery UI 1.8.2的可排序+嵌套列表

这个问题已经过去了,但似乎没有人像我一样遇到同样的问题。

当我做这样的事情

$(function(){ $('#unique-ul').sortable({items:'li'}); }); 

我希望它“只是工作”。 总的来说,确实如此。 我可以将任何

  • 从任何列表拖到任何其他列表,并且用它拖动
  • 的任何子列表。

    然而,当拖动时,似乎真的很困惑它应该放在哪里。 这是一个使用1.8.0的例子; 它显示相同的行为。

    我发现的所有其他响应让我相信jQuery UI支持这种行为; 例如,这是一个针对嵌套draggables针对1.7注册的错误: http : //dev.jqueryui.com/ticket/4333

    我找不到其他有这个问题的人所以它暗示我做错了。 有什么线索吗?

    发生这种情况是因为Sortable并不真正知道你是否高于嵌套的

  • 或包含它的那个。 一种解决方案是使用这样的结构:

     
    • Item 1
      • Subitem 1
      • Subitem 2
    • Item 2
    • Item 3

    并设置选项toleranceElement: '> div' 。 我不知道为什么它没有记录,但它在那里它告诉Sortable在计算交叉点时只考虑

    如果您感兴趣,我最近开发了一个插件 ,使嵌套排序更容易,允许动态创建新的嵌套列表。

    Interesting Posts