我发现了一个非常讨厌的错误,而我无法修复它。
基本上,如果我有一个具有固定宽度和高度的 div 元素,然后如果我再添加一个宽度更大的元素到该 div 内容中,它会导致一个错误,使得可拖动的元素超出其包含元素。
我在 jsFiddle 上创建了一个示例
要使这个错误发生,只需将可拖动的 div 向右拖到容器的边缘,然后再试着将其拖出容器,它将会向外偏移大约 10px,如果重复此过程,它可以一直偏移。
我发现解决方法之一是给可拖动的元素添加 overflow:hidden 样式,但在我的情况下,无论如何都需要显示内容。
JS 代码:
$( "#draggable" ).draggable({
containment: "parent"
});
HTML
<div class="container">
<div id="draggable" class="ui-widget-content">
<p>Drag me around</p>
<div class="footer"></div>
</div>
</div>
CSS
.container{
width:400px;
height: 400px;
border:1px solid red;
}
#draggable{
width: 100px;
height: 200px;
}
.footer{
width: 120%;
height :10px;
background: blue;
}
#draggable
周围包装器的大小中。但我还没有找到自动化的方法... - Kiruse