jQuery .sortable()克隆元素时不应该

时间:2012-01-11 20:55:33

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

我最近在我的网站上添加了一个播放列表功能,用户可以在其中将可用的曲目拖到播放列表中。

使用jQuery UI 1.8,一切都运行良好,直到我注意到一个古怪的行为:可排序的唯一一方是在对它们进行排序时克隆对象。让我解释基本结构,然后我将链接小提琴。

  • 有两个父div:#available-tracks-wrapper#playlist-wrapper
  • 用户可以从左侧的#available-tracks-wrapper拖动并放下 进入右边的#playlist-wrapper
  • 然后,用户可以按照自己的意愿对#playlist-wrapper内的曲目进行排序。

问题:

  • 排序开始时,排序行为很明显,但是,当删除时,对象会被克隆而不是简单地移动。

这是我的fiddle。我为丢失的图像等道歉。但是,重现行为所需的元素仍然存在。

我搜索了一些选项或方法,以防止此行为无效。我确实注意到了这一点:

  

启用一组DOM元素可排序。单击并拖动   元素到列表中的新位置,其他项目将调整   适合。 默认情况下,可排序项目共享可拖动属性

所以我禁用helper:'clone'中的#available-tracks-wrapper,确实删除了克隆行为,但导致其他区域的行为更糟​​。

接下来我想在启动或停止时创建一个函数来删除前一个元素,但是动态定位会被证明是一个挑战因为thisevent.target始终是父{{1}而不是元素本身。

谢谢大家看看这个。我想这只是因为我的高通而忽略的东西。

0 个答案:

没有答案