【发布时间】:2013-03-11 23:44:16
【问题描述】:
我有一些 sn-p 代码,它显示了两个相互连接的可排序列表。一切都很好。
演示 - jsFiddle example
在演示中,字母被丢弃在可排序的开头或结尾或之间。一般来说,所有字母都被压缩,没有空格。这是可排序的自然行为。但现在我想以不同的方式移动(拖放)字母。
我想将字母从位置 3 [例如字母 N] 移动到下面列表中的位置 3,而不是左侧。除了我希望可排序列表 [现在没有字母 N] 不会被挤压,但它们之间的差距应该保持不变。除了我想在 ul 元素上保持可排序的行为,以便我能够相互排序字母/空格,将间隙移动到其他位置,但只能在同一个可排序列表上。
我尝试在 li 元素中使用 span,然后断开列表并仅使用可拖动和可放置,但我不知道如何使其正确。我尝试了两种方法。
FIRST : 将 span 添加到 li 元素中,以便 li 元素成为某种桶(每个桶中只能有一个字母)。然后添加:
$("#letters li span").draggable({
connectToSortable: "#subword",
revert: "invalid"
});
$("#subword li span").draggable({
connectToSortable: "#letters",
revert: "invalid"
});
但它只将 span 放在可排序的末尾,而不是放在我拖放到的 li 元素内。
SECOND : 添加 li droppable 和 span 可拖动,但我不能在 li 上使用 sortable。我总是会拖动 li 上的 span 元素。
有人可以帮我解决这个问题,因为我处于死胡同。如果有什么没有很好的解释,请询问。提前致谢!
【问题讨论】:
标签: jquery jquery-ui jquery-ui-sortable