【发布时间】:2017-09-05 19:00:30
【问题描述】:
我创建了一个基本的 jQuery 脚本来允许拖放表格行以重新排序它们。一切都很好 - 我唯一不知道的是如何在拖动时创建行的“幽灵”图像。
我尝试克隆该行
$(this).clone().addClass('dragClone');
使用以下 CSS
.dragClone{opacity:0.4;position:absolute;z-index:1500;}
但是什么都没有出现。考虑到 TR 可能需要存在于表中,我克隆了整个表,清空了行并附加了选定的 TR,如下所示:
$('.dragTable').clone().addClass('dragClone');$('.dragClone').find('tbody').empty().append($('.origZone'));
(origZone 是赋予被拖动的 TR 的类)
仍然没有任何显示。
我以前从未使用过克隆,所以我什至不知道我是否接近,或者完全在正确的轨道上!目标是创建一个类似于 Redips_drag 插件中使用的镜像 (http://www.redips.net/javascript/drag-and-drop-table-row/)
【问题讨论】:
-
您知道 JQueryUI (jqueryui.com) 对吗?它正是这样做的(当使用可拖动功能时)并且还允许对元素进行排序。除非您这样做是为了学习,否则可能比尝试重新发明轮子 IMO 更容易? :)
-
这样做既是为了学习,也是为了节省内存。我的可拖动脚本只有 2kb 而不是加载完整的 JQueryUI 库!
-
很公平,但您可以使用他们的网站生成自定义 ui js 文件,该文件仅包含您真正想要的任何组件:)
-
除非您是 google.com 或运行效率至上的公司。 不 使用 jQueryUI 的原因不应该是大小,因为您可以选择性地选择要加载的库。通过 Google 的 CDN 加载它意味着您的用户可能已经从另一个网站缓存了它,并且 gzip 压缩后它只有 60k。仅加载可拖动的库,该库将轻松投放到青少年。
-
感谢@Nucleon 的信息。但是,我的拖动脚本的其余部分已经在工作了 - 我只想弄清楚如何使克隆工作。
标签: jquery drag-and-drop clone