0

我有一个可放置的 excel 网格和一个可拖动的孤儿容器。孤立容器占据屏幕的 1/3,位于可放置的 excel 网格顶部的固定位置,因此您可以在可放置的网格中移动。我将这些项目从孤儿容器拖到它后面的可放置桶中。如果我几乎没有在孤立容器中拖动一个项目,它有时会在它后面到可放置容器并被插入。有没有办法不这样做,如果它没有移出它,就留在孤儿容器中。

下图显示了名为 unscheduled games 的孤立容器。如果我几乎不拖动 B1 与 B2,它会被放到它后面的一个较小的容器中,而不是留在孤立容器中。所以它看起来就像它消失了。

在此处输入图像描述

更新:

我注意到我的两个droppables“drop”事件都被击中了。孤立容器被击中,然后第二个被击中,第二个接受它。

4

2 回答 2

1

我通过向可拖动项目添加一个类并在孤立容器的过度/退出事件中将其删除来解决此问题。

            over: function( event, ui ) {
                $(ui.draggable).addClass('orphan-droppable');
            },
            out: function (event, ui) {
                $(ui.draggable).removeClass('orphan-droppable');
            }

并测试元素是否在可放置的网格中,如果在元素上找到该类,我将忽略它。

 drop: function (event, ui) {

                        if (!$(ui.draggable).hasClass('orphan-droppable')) {
// Work on element
}
于 2013-08-16T18:51:45.330 回答
0

尝试禁用 droppable 网格并监听孤立容器上的“out”和“over”事件。当 out 被触发时,您启用网格,然后再次禁用。

于 2013-08-15T22:13:49.823 回答