arv*_*sim 5 javascript jquery jquery-ui
例:
<div>
<div class='drop'>
<div class='drag'></div>
</div>
<div class='drop'>
</div>
<div class='drop'>
</div>
<div class='drop'>
</div>
<div>
</div>
</div>
$('div.drag').draggable({ containment: 'div.drop' });
Run Code Online (Sandbox Code Playgroud)
通常,如果只有1个"div.drop"元素,则它按预期工作.如果有多于1个(如上例所示),我认为它将被拖放到任何"div.drop"div中.事实证明,它只能被"div.drop"选择器匹配的第一个元素可拖动/可拖放.
有没有解决方法(也就是说,只在"div.drop"div中使它包含/ droppable/draggable)?
编辑:我猜你是对的.经过一番反省后,我意识到我没有采用你建议的解决方案,因为div之间有填充,我不希望在填充区域上删除"div.drag"div.
事情不是这样的!!遏制是对拖动的约束界限。
您想要拖放。
然后你必须为 div.grag 配置拖动:
$('div.drag').draggable();
Run Code Online (Sandbox Code Playgroud)
并为 div.drop 配置 drop:
$('div.drop').droppable();
Run Code Online (Sandbox Code Playgroud)
您可以使用第一个 div 级别为拖动元素添加包含:
<div id='dragZone'>
<div class='drop'>
<div class='drag'></div>
</div>
<div class='drop'>
</div>
</div>
$('div.drag').draggable({ containment: '#dragZone'});
Run Code Online (Sandbox Code Playgroud)