2009-10-09 81 views
2

我有1个可拖动的div和2个可拖动的div。这两个可拖动的div也是可拖动的,所以这两个div可能有重叠的机会。在这种情况下,当我拖动可拖动的div并将其拖放到重叠的div上时,是否有确保将它放在顶部的div上?jQuery droppable项目重叠

回答

2

我有一个稍微不同的问题:我有两种类型的droppables,一种总是在另一种上面。

要知道上投掷的可拖动被放弃了,更高的可放开增加了一个类可拖动,当它被拖到它。当在两个droppables上触发drop事件时,检查较低droppable以查看draggable是否具有添加的类。如果是,则忽略掉落事件。

top.droppable({ 
    over: function(drop_event, drop_ui) { 
     drop_ui.helper.addClass('over_top_element'); 
    }, 
    out: function(drop_event, drop_ui) { 
     drop_ui.helper.removeClass('over_top_element'); 
    }, 
    drop: function(drop_event, drop_ui) { 
     //Handle drop here 
    } 
}); 

bottom.droppable({ 
    drop: function(drop_event, drop_ui) { 
     if (!ui.helper.hasClass('over_top_element')) 
     { 
      //Handle drop here 
     } 
    } 
}); 
+0

我认为这不适用于最新的jquery-ui 1.8.x,因为它只会触发第一个声明的droppable,所以我最终编写了自己的droppable:S – ben 2011-06-03 04:11:18