【问题标题】:jQuery UI Sortable: dragged element disappearsjQuery UI Sortable:拖动的元素消失
【发布时间】:2011-05-27 11:17:02
【问题描述】:

我设置了<div class="container">.sortable(),容器中有一些元素。

当我拖拽内部元素时,打算和其他元素排序,一旦拖出容器,就看不到了

但是当我把它放到占位符上时,它又可以被看到了。 Online case is here.

有人遇到过这个问题吗?或者谁能​​帮我解决这个问题?

谢谢

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-sortable


    【解决方案1】:

    诀窍是将 helper 设置为 'clone' 并使用临时交换列表进行拖动.. 代码的修改版本 here

    $( ".selector" ).sortable({
        helper: "clone"
    });
    

    【讨论】:

    • 单独 div 上的 appendTo 对我有用。谢谢!
    • 这对我有用,appendTo 没有,我的溢出没有设置为隐藏。
    • 什么都不做......不知道为什么,但是当我拖动元素时会跳来跳去。看到这个 gif:gph.is/2p3dP4u
    【解决方案2】:

    我拖动的项目在垂直列表中消失了,我发现使用 overflow-y: hidden 而不是 overflow:hidden 对我有用。即只针对 y 轴。

    【讨论】:

      【解决方案3】:

      overflow: hidden; 放在.container 上,它会起作用。问题是,在拖动过程中,您将.container 的子元素移到.container 元素之外,您已经告诉浏览器隐藏任何溢出,而您在拖动过程中强制溢出并且浏览器正在执行你告诉它做什么。

      一般建议:不要管overflow,除非您知道它的作用以及为什么需要使用它。

      【讨论】:

      • 使用这项工作(我不想触及任何样式)为我解决了问题$("#myDraggableElem").draggable({ appendTo: 'body', helper: 'clone', zIndex: 300 });。请注意,当您拖动元素时会创建一个新元素,它可能不是您要查找的内容。
      【解决方案4】:

      问题很可能是由于:.container{ margin:0 20px; position:absolute;top:0;height:100%;width:280px;overflow:hidden;}

      如果您设置overflow:auto,它会显示带有滚动条的包装器 div,您可以查看您的 portlet。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-29
        • 2014-10-28
        • 2011-12-30
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        • 2012-06-27
        相关资源
        最近更新 更多