Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可嵌套-仅允许对具有相同父级的同级进行重新排序_Javascript_Jquery - Fatal编程技术网

Javascript 可嵌套-仅允许对具有相同父级的同级进行重新排序

Javascript 可嵌套-仅允许对具有相同父级的同级进行重新排序,javascript,jquery,Javascript,Jquery,我正在使用它让用户编辑自定义菜单 但对于拖动的项目,不应允许它切换父元素 演示中的示例: -用户可以对元素6、7、8重新排序,但不能离开元素5 -用户可以对元素3、4、5、9、10重新排序,但不能离开元素2 我已经删除了中的完整逻辑 我认为相关的地方可以在“垂直移动”中添加这一逻辑: 我这样试过: else if (before) { var a = this.placeEl.parent(); //element I dragged (?) var b = this.point

我正在使用它让用户编辑自定义菜单

但对于拖动的项目,不应允许它切换父元素

演示中的示例:
-用户可以对元素6、7、8重新排序,但不能离开元素5
-用户可以对元素3、4、5、9、10重新排序,但不能离开元素2

我已经删除了中的完整逻辑

我认为相关的地方可以在“垂直移动”中添加这一逻辑:

我这样试过:

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);
    }
}
else if(之前){
var a=this.placeEl.parent();//元素I被拖动(?)
var b=this.pointEl.parent();//此时鼠标悬停在上面的元素
如果(a.parent()==b.parent()){
//a和b在同一位置,所以允许下降
this.pointEl.before(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);
    }
}