【发布时间】:2019-05-21 01:02:36
【问题描述】:
我在容器内动态生成一些 div,这些 div 可以使用最新版本的 jquery-ui 进行拖动。问题是当一个 div 移动到另一个位置时,它不尊重其他 div 的空间,所以它可以在另一个 div 的顶部,我不希望这样。
如果我决定移动一个 div 并将其放在另一个 div 上,会发生这种情况:
这种行为不好,最好是如果我尝试将一个 div 放在另一个上,则不会执行此操作。
这是我的html代码:
<div class="container">
<div class="row" id="main_row_blog_results">
<!--here the divs are dynamically generated -->
</div>
</div>
这是我的 JS 代码:
$(document).ready(function(){
$("#btnAddTextsBlog").click(function(){
var texts = "this is a random text";
var content2 = "<div id='text1' class='draggable' style='float: left; margin-left: 30px; margin-right: 30px; margin-top: 30px; display: block;'><p contenteditable='true' style='font-size: 18px;'>"+texts+"</p></div>";
$("#main_row_blog_results").append(content2);
$(".draggable").draggable();
});
$( '.draggable' ).draggable({
});
我想知道当用户将 div 拖放到其他 div 的空间中时,我该怎么做,将这个 div 移回原来的位置......这个想法是防止 div 之间的碰撞?
【问题讨论】:
-
与完整的工作示例共享完整的相关代码以重现
-
你需要使用碰撞检测见stackoverflow.com/questions/4230029/…
-
从您的描述中不清楚如果用户将项目拖入该空间会发生什么。应该阻止这样做还是应该将下面的物品移开?请澄清您的问题。
-
@Twisty 对不起,你是对的。当用户将项目拖放到该空间时,该项目应移回其原始位置...
-
我确实编辑了我的问题。
标签: jquery html css jquery-ui drag-and-drop