JQuery draggable – 没有重叠

是否有可能说“可拖动的div – >没有重叠”?

我认为主要问题是:绝对; … 对?

善待彼得

在jQuery UI draggable中没有用于碰撞检测的内置函数,除非你实际上是在进行排序之类的事情。 最接近你想要的东西是sortable的plceholder, 看起来像这样 。

短版本是碰撞检测,每个拖动元素在性能方面都不是微不足道的(取决于元素的数量),所以它被排除在库之外,因为它是一个非常罕见的请求。 但是,如果您确实需要碰撞检测,则可以在可拖动的drag事件中自己计算碰撞。

您可以尝试jquery-collision plus jquery-ui-draggable-collision 。 完全披露:我刚刚在sourceforge上编写并发布了这些内容。

第一个允许这个:

 var hit_list = $("#collider").collision(".obstacle"); 

这是与“#collider”重叠的所有“.obstacle”的列表。

第二个允许:

 $("#collider").draggable( { obstacle: ".obstacle" } ); 

这给你(除其他外)一个“碰撞”事件绑定到:

 $("#collider").bind( "collision", function(event,ui){...} ); 

你甚至可以设置:

 $("#collider").draggable( { obstacle: ".obstacle", preventCollision: true } ); 

防止“#collider”在拖动时与任何“.obstacle”重叠。