我有以下HTML代码:
<div id="scroll">
<div class="foo">foo1</div>
<div class="foo">foo2</div>
....
<div class="foo">foo8</div>
</div>
<div id="to_drop">
DROP HERE!!!
</div>
使用此CSS代码:
#scroll
{
width: 100px;
height: 80px;
overflow: auto;
}
我和以下Javascript / jQuery代码:
$(document).ready(function ()
{
$('.foo').draggable();
});
问题是虽然.foo
元素是draggable
,但它们只能在#scroll div
内拖动。有办法避免这种情况吗? (查看here示例)
因为我希望用户能够从#scroll
拖动一个元素,并且这样做时滚动将无法工作(如果他在{{1}内拖动.foo
滚动条不会移动,只有当用户在滚动条上单击鼠标并移动它时滚动条才能工作,并且能够将其拖放到#scroll
。
答案 0 :(得分:6)
由于overflow: auto
样式,原始元素仅限于其父元素的边界。
您可以使用clone
helper:
$('.foo').draggable({
helper: "clone"
});
您可以在this fiddle中进行测试。
答案 1 :(得分:1)
$( ".foo" ).draggable({ containment: 'window' });