我使用Nestable让用户编辑自定义菜单。
但是对于拖动的项目,不应该允许切换父元素。
演示示例:
- 用户可以重新排序元素6,7,8,但它们不能离开元素5
- 用户可以重新排序元素3,4,5,9,10,但它们不能离开元素2
我已经删除了"if" for moving horizontal中的完整逻辑。
我认为添加此逻辑的相关位置是here, where "before" and "after" are used在"移动垂直":
else if (before) {
this.pointEl.before(this.placeEl);
}
else {
this.pointEl.after(this.placeEl);
}
我试过这样:
else if (before) {
var a = this.placeEl.parent(); //element I dragged (?)
var b = this.pointEl.parent(); //element the mouse hovers over at the moment
if (a.parent() === b.parent()){
// a and b are in the same <ol>, so allow drop
this.pointEl.before(this.placeEl);
}
}
但它没有用。有什么建议吗?