Javascript scriptaculous可排序树-防止节点进入子/父列表

Javascript scriptaculous可排序树-防止节点进入子/父列表,javascript,html,scriptaculous,Javascript,Html,Scriptaculous,处理使用scriptaculous的旧项目时遇到问题。我目前有一个树状结构,如下所示: Item 1 + Item 1a + Item 1aa + Item 1ab + Item 1b Item 2 + Item 2a + Item 2b + Item 2ba + Item 2bb 通过我现在使用树选项进行排序设置的方式,用户可以将项目2bb拖动到我试图阻止的项目2a中。我希望将拖动的项目保留在其父类别中。因此,如果项目2b下存在项目2ba,则

处理使用scriptaculous的旧项目时遇到问题。我目前有一个树状结构,如下所示:

Item 1
  + Item 1a
    + Item 1aa
    + Item 1ab
  + Item 1b 
Item 2
  + Item 2a
  + Item 2b
    + Item 2ba
    + Item 2bb
通过我现在使用树选项进行排序设置的方式,用户可以将项目2bb拖动到我试图阻止的项目2a中。我希望将拖动的项目保留在其父类别中。因此,如果项目2b下存在项目2ba,则用户应无法将该项目拖动到该父项之外。我使用的创建代码非常简单:

Sortable.create('cats', {tree:true,scroll:window,treeTag:'ul',tag:'li', onChange:function(){$('save-cats').style.visibility='visible';}});
结构由标准标记组成,请注意嵌套标记:

cats是主要ul元素的ID。onDrop正在发射,但我无法让它恢复或不接受该物品。我假设如果我能做到这一点,我可以将当前父元素与新父元素进行比较,如果它们不相同,则将元素向后推

<ul>
<li>Item 1</li>
<li>
   Item 2
   <ul>
      <li>Item 2a</li>
   </ul>
</li>
</ul>
new Draggable('cats',{revert:true});

    Droppables.add('cats', { 
    onDrop: function(element) 
            {
                return false;
            }});