Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 Jquery可拖放-贪婪未按预期工作_Javascript_Jquery - Fatal编程技术网

Javascript Jquery可拖放-贪婪未按预期工作

Javascript Jquery可拖放-贪婪未按预期工作,javascript,jquery,Javascript,Jquery,我对Dropable有一个不寻常的问题。我有很多代码,所以我会尽量简化我的问题 我有两个div可以放在一个容器中(与窗口大小相同)。 div1是5000px乘以5000px,并且在页面上居中(也就是说,有大量的偏移位置)。div2绝对位于第一个div顶部的容器内。它的宽度为容器的100%,高度约为50px 我还有大量的拖放项目需要从一个div移到另一个div,然后再移回来 问题是,一旦我将一个项目从div2移到div1,它们就不会再移回div2。他们只是走到div下面,然后留在div1中。我很想

我对Dropable有一个不寻常的问题。我有很多代码,所以我会尽量简化我的问题

我有两个div可以放在一个容器中(与窗口大小相同)。 div1是5000px乘以5000px,并且在页面上居中(也就是说,有大量的偏移位置)。div2绝对位于第一个div顶部的容器内。它的宽度为容器的100%,高度约为50px

我还有大量的拖放项目需要从一个div移到另一个div,然后再移回来

问题是,一旦我将一个项目从div2移到div1,它们就不会再移回div2。他们只是走到div下面,然后留在div1中。我很想发布代码,但有太多我不确定它是否会有帮助

我目前在每个拖放div上使用贪婪:true

有什么想法吗?提前谢谢

编辑

这是div2的jquery

$("#bs-quickAdd-que").droppable({
            accept: ".bs-items",
            drop: function( e, ui ){
                var $this = ui.draggable; // the element being dragged
                $this.addClass("bs-que-items item-in-que");
                $("#bs-quickAdd-que").css({"background-color": "transparent"});
            },
            over: function( e, ui ){ // when drag of the que box
                var $this = ui.draggable; // the elementbeing dragged
                $this.appendTo("#bs-quickAdd-que").removeClass("item-in-grid");

                $("#bs-quickAdd-que").css({"background-color": "#fff"});
            },
            out: function( e, ui ){
                var $this = ui.draggable; // the element being dragged
                $this.appendTo(elem).addClass("item-in-grid").removeClass("bs-que-items");

                $("#bs-quickAdd-que").css({"background-color": "transparent"});
            },
            greedy: true
        });
这是div1的jquery

elem.droppable({
                accept: ".bs-items",
                greedy: true
            });
这是可拖动的项目

$(".bs-items").draggable({
            containment: "window",
            grid: [10,10],
            stack: ".bs-items",
            cursorAt: {top: 15, left: 10},
            drag: function(e,ui){

                var $this = ui.helper, $parent = $this.parent(); // the element being dragged

                if($parent.is("#grid")){
                    thisx = Math.round(e.pageX - elem.offset().left);
                    thisy = Math.round(e.pageY - elem.offset().top);
                }else{
                    thisx = Math.round(e.pageX - $("#bs-quickAdd-que").offset().left);
                    thisy = Math.round(e.pageY - $("#bs-quickAdd-que").offset().top);                   
                }
                ui.position.left = thisx-($this.width()/2);
                ui.position.top = thisy-($this.height()/2);
            }
        });
事情是这样的

子代droppable配置为
{greedy:true}
时,jqueryui防止祖先droppable接收丢弃事件。当一个drop事件与另一个drop事件重叠时,它不会阻止兄弟兄弟drop事件接收drop事件

这是jQueryUI的设计决策。它们。

事情是这样的

子代droppable配置为
{greedy:true}
时,jqueryui防止祖先droppable接收丢弃事件。当一个drop事件与另一个drop事件重叠时,它不会阻止兄弟兄弟drop事件接收drop事件


这是jQueryUI的设计决策。它们。

我会发布您的代码,当您在编辑窗口中查看菜单的代码栏时。它将使您能够在不占用大量空间的情况下发布大量代码。我会发布您的代码,当您在编辑窗口中查看菜单的代码栏时。它将使您能够在不占用大量空间的情况下发布大量代码……一项设计决策促使我在编写库时牢记此设计目标(除其他外):……一项设计决策促使我在编写库时牢记此设计目标(除其他外):