如何限制嵌套可吸收子级别

How to limit NestedSortables sublevels?

本文关键字:可吸收 何限制 嵌套      更新时间:2023-09-26

我使用 http://mootools.net/forge/p/nestedsortables 对 li 元素列表进行排序,现在它可以将它们排序为无限的子级别。我需要将其限制为只有一个子级别。

https://jsfiddle.net/dq3xqvu9/

new NestedSortables('menu', {
  onStart: function(el) {  },
  onComplete: function(el) {  }
});

很好 - 我希望能够将它们移动到一个子级别:

  • 列表项
    • 列表项
    • 列表项
    • 列表项

不好 - 默认情况下,嵌套可替代允许您将项目移动到无限的子级别,例如:

  • 列表项
    • 列表项
      • 列表项
        • 列表项

我在NestedSortables Class中添加了这三个限制:

  abort += (this.getDepth(dest, (move == 'inside')) > 1);
  abort += ((move == 'inside') && (el.getFirst('ul') != null));
  abort += ((move != 'inside') && (el.getFirst('ul') != null) && (this.getDepth(dest, (move == 'inside')) > 0));

更新的 JSFiddle 上的完整代码。

此修改将子级别的数量限制为 1。