【发布时间】:2023-04-02 20:03:02
【问题描述】:
我在 jQuery 中有两个可排序的列表。它们被称为 sortable1 和 sortable2。它们是
- 中的
- 。当用户将一个元素从 sortable2 拖到 sortable1 中时,该元素将克隆到 sortable2 中。一旦放入 sortable1,用户就不能再将其移回 sortable2,因为已经有另一个替代了它。
我的问题本质上是两个方面:
- 如何防止放在 sortable1 中的项目被拖回 sortable2,同时仍然能够重新排列。
- 如何实现点击功能,以便删除您点击的可排序元素。这种行为应该只发生在 sortable1 中。
这是脚本:
<script> $(function() { $( "#sortable1" ).sortable({ connectWith: ".connectedSortable" }).disableSelection(); $( "#sortable2" ).sortable({ connectWith: ".connectedSortable", helper: function(e,li) { copyHelper= li.clone().insertAfter(li); return li.clone(); } }).disableSelection(); }); </script>这是列表后面的 html 的 sn-p:
<div id="symbolbay"> <p>Drop symbols here</p> <ul id="sortable1" class="connectedSortable"></ul> </div> <ul id="sortable2" class="connectedSortable"> <li class="ui-state-highlight">Click me to delete only me</li> <li class="ui-state-highlight">Click me to delete only me</li> ...There are a whole bunch more, finally ending in... </ul>感谢您的帮助!我对这项惊人的技术很陌生,我一直对它的功能感到惊讶。
【问题讨论】:
-
你能包含一些 CSS 吗?在没有任何样式的情况下看到这个很难理解。
-
@ChrisHerbert CSS 与排序逻辑有什么关系?
-
jsfiddle.net/R8cTb 仅据我所知,这有意义吗?请记住,您必须在某些时候区分这两个列表
-
什么都没有,但是如果你将代码粘贴到没有 CSS 的 jsfiddle 中,就很难知道发生了什么。让我们更轻松。
标签: javascript jquery html jquery-ui