【发布时间】:2017-08-11 09:42:02
【问题描述】:
我对 javascript 尤其是 jQuery UI 比较陌生。我正在尝试制作一个(我认为很容易的)“拖放”区域,其中放置部分也需要可排序。拖放工作正常,但排序只工作大约 20%...问题是当我对一个元素进行排序时,它会留下一个副本和一个克隆,而不是仅仅移动它。
我认为这与我将可拖动部分中的助手设置为在可放置区域中进行克隆有关,并且当我尝试对元素进行排序时,克隆部分仍在工作。我希望我的描述很清楚......
见下面的代码。 2 是我要删除然后排序的元素。
<div id="draggable1">
<H1>Headline</H1>
</div>
<div id="draggable2">
<input type="text" value="move me..." class="form-control" />
</div>
<div id="droppable"></div>
$("#draggable1, #draggable2").draggable({
helper: 'clone',
cursor: 'move'
});
$("#droppable").sortable({
connectWith: ".connectedSortable",
cursor: 'move',
helper: 'copy'
});
$("#droppable").droppable({
drop: function (event, ui) {
var droppable = $(this);
var draggable = ui.draggable;
draggable.clone().appendTo(droppable);
}
});
我排序后,既有副本又有克隆。见图片。
Here link to fiddle with code 你们也看看我的代码和发生了什么。
我在那里得到相同的结果......
【问题讨论】:
-
删除
helper: 'clone'和helper: 'copy'。如果这不能解决您的问题,那么我们需要在 sn-p 或 jsfiddle.net 上查看它的工作示例 -
我添加了“副本”以查看它是否会覆盖“克隆”。我需要“克隆”,因为我希望元素留在左侧。如果我删除“克隆”,它将移动整个元素...
-
这是给你们的小提琴。我在那里得到相同的结果...jsfiddle.net/xLk8b1w3
标签: javascript jquery jquery-ui jquery-ui-sortable