【发布时间】:2011-05-27 11:17:02
【问题描述】:
我设置了<div class="container">.sortable(),容器中有一些元素。
当我拖拽内部元素时,打算和其他元素排序,一旦拖出容器,就看不到了。
但是当我把它放到占位符上时,它又可以被看到了。 Online case is here.
有人遇到过这个问题吗?或者谁能帮我解决这个问题?
谢谢
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable
我设置了<div class="container">.sortable(),容器中有一些元素。
当我拖拽内部元素时,打算和其他元素排序,一旦拖出容器,就看不到了。
但是当我把它放到占位符上时,它又可以被看到了。 Online case is here.
有人遇到过这个问题吗?或者谁能帮我解决这个问题?
谢谢
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable
诀窍是将 helper 设置为 'clone' 并使用临时交换列表进行拖动.. 代码的修改版本 here
$( ".selector" ).sortable({
helper: "clone"
});
【讨论】:
我拖动的项目在垂直列表中消失了,我发现使用 overflow-y: hidden 而不是 overflow:hidden 对我有用。即只针对 y 轴。
【讨论】:
将overflow: hidden; 放在.container 上,它会起作用。问题是,在拖动过程中,您将.container 的子元素移到.container 元素之外,您已经告诉浏览器隐藏任何溢出,而您在拖动过程中强制溢出并且浏览器正在执行你告诉它做什么。
一般建议:不要管overflow,除非您知道它的作用以及为什么需要使用它。
【讨论】:
$("#myDraggableElem").draggable({ appendTo: 'body', helper: 'clone', zIndex: 300 });。请注意,当您拖动元素时会创建一个新元素,它可能不是您要查找的内容。
问题很可能是由于:.container{ margin:0 20px; position:absolute;top:0;height:100%;width:280px;overflow:hidden;}。
如果您设置overflow:auto,它会显示带有滚动条的包装器 div,您可以查看您的 portlet。
【讨论】: