jquery - 有没有办法让div在通过jquerydraggable[或等等]拖动时不互相重叠?

标签 jquery draggable

有没有办法让div在通过jquerydraggable()拖动时不互相重叠?

我有一堆 div,用户可以拖动它们,但我不能让它们彼此重叠。

基本上,我正在创建一个 Canvas ,用户可以在其中自由移动网站内容,但在移动它们时不需要与其他内容重叠。有什么想法吗?

最佳答案

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

第一个允许这样做:

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

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

第二个允许:

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

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

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

您甚至可以设置:

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

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

关于jquery - 有没有办法让div在通过jquerydraggable[或等等]拖动时不互相重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1964812/

相关文章:

jQuery 性能 : hide() vs is (':visible' ) - which is faster?

javascript - 如何使用 AJAX 数据传递 url GET 值

javascript - 忽略鼠标悬停目标?

当鼠标位于可拖动上方时,jQuery droppable 'over' 事件不会触发

javascript - 在 Div 上拖放

javascript - 使拖放的元素可放置,同时仍可拖动

c# - 在 UWP 上创建可拖动的 map 图钉

javascript - Mysqli 查询从数据库中返回一行简单的字符串的空值

jquery - 使用 JQuery 填充 TinyMCE 文本区域(移动设备)

javascript - 根据要循环的元素数增加 Bootstrap 进度条百分比