jquery UI sortable:如何让原始可见直到下降?

Posted

技术标签:

【中文标题】jquery UI sortable:如何让原始可见直到下降?【英文标题】:jquery UI sortable: how to leave the original visible until the drop? 【发布时间】:2011-01-10 03:02:06 【问题描述】:

在http://jqueryui.com/demos/sortable/ 演示的标准行为中,当您在列表中拖动一个项目时,将在该项目将被放置的位置显示一个占位符元素。

但是,没有指明要丢弃的物品的原始位置。

我想让原始位置在放置之前一直可见,以便视觉反馈类似于 http://jqueryui.com/demos/draggable/#visual-feedback 中描述的“半透明克隆”选项保留原始位置的方式

有什么办法可以用 sortable 做到这一点?

谢谢!

【问题讨论】:

【参考方案1】:

因此,一种似乎有效的方法(认为这绝对是一种 hack)是传递选项

start: function (e, ui) ui.item.show();

取消隐藏自动隐藏的原件 (ui.item)。

而且,更一般地说,可以使用start 函数来修改项目。

【讨论】:

谢谢。这对我也有帮助 但它在下降时消失了 不错。我还最终在开始时添加了一个类,并在停止时将其删除。然后我设置 css 类的不透明度。我发现这有助于说明哪一个是原始项目。【参考方案2】:

helper: 'clone' 选项将保留您的原始项目,同时创建一个实际由鼠标拖动的新 DOM 元素。 (此外,您可以使用选项opacity: 0.7 在助手上创建“半透明”效果。)

我不确定您是否需要这个,但如果使用克隆不会自动从列表中删除该项目,您可以使用remove 事件删除从列表中拖出的项目完全 DOM。

【讨论】:

所以,这就是我认为应该使用“克隆”发生的事情——但是当我设置助手时:“克隆”原件仍然消失。所以也许我应该问:我会错过什么? 仔细看一下,使用“克隆”该项目仍然出现在 DOM 中。但它不显示。我修改了 jquery-ui 包附带的示例以使用helper: 'clone' 选项,您可以在此处查看:brahn.sqprod.com/jq/sortable-example.html 而且,事实上(感谢 Firebug)现在很明显(同样,即使使用 clone 选项)通过将样式设置为 display: none 来隐藏原始文件 @brahn link dead : brahn.sqprod.com/jq/sortable-example.html jsfidler 是最好的展示示例 ...

以上是关于jquery UI sortable:如何让原始可见直到下降?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI 可排序:移动克隆但保持原始

如何让 jQuery UI 的 Draggable 和 Sortable 函数在 iPhone 上工作?

Jquery ui 可排序放置事件

jquery UI droppable 和 sortable 不起作用?

jQuery UI Sortable:在列之间拖动元素时记录起点和终点

jquery-ui-sortable,当列表被隐藏时如何防止取消?