我正在尝试将我找到的几个解决方案结合起来--主要是使用这里在堆栈溢出上找到的答案--非常感谢。
我正在尝试使用jquery创建一个拖放解决方案。我有一个要添加的项目列表。我有我的要求:
我目前的解决方案可以通过以下操作看到:https://jsfiddle.net/q0k7ouud/
<div id="items-selector">
<ul id="choices" class="window-view">
<li class="boilerplate-li" id="bp-1">item-1</li>
<li class="boilerplate-li" id="bp-2">item-2</li>
<li class="boilerplate-li" id="bp-3">item-3</li>
</ul>
<ul id="selections" class="window-view">
</ul>
</div>和
$(document).ready(function() {
$('#items-selector #choices').sortable({
connectWith: '#items-selector #selections',
forcePlaceholderSize: false,
helper: function(e, li) {
copyHelper = li.clone().insertAfter(li);
return li.clone();
},
stop: function() {
copyHelper && copyHelper.remove();
},
containment: '#items-selector'
});
$("#items-selector #selections").sortable({
receive: function(e, ui) {
copyHelper = null;
}
});
});以下是我希望堆叠溢出能对我有帮助的问题:
对于这些问题,我尝试将sortable()替换为draggable()和dropable(),调整helper: functions,以及我试图从其他人的问题中提取的其他见解。但似乎如果我解决了一个问题,我创造了另一个问题,直到我最后追逐我的尾巴。我希望堆叠溢出的专家能帮助我找到一个完整的解决方案。
我预先感谢你的协助。
发布于 2017-08-10 19:04:57
@Twisty使我走上了正确的道路。我需要的是使用.draggable()作为我的选择。该密钥是connectToSortable键,它允许我将可拖放项连接到可排序列表。我还没有实现我在最初的问题中描述的双击功能,但是现在尘埃落定了,这应该是非常直接的。
以下是新的javascript
$(document).ready(function() {
$('#items-selector #choices li').draggable({
connectToSortable: '#items-selector #selections',
cursor: 'move',
helper: 'clone',
scope: "drop",
containment: '#items-selector'
});
$("#items-selector #selections").sortable({
receive: function(e, ui) {
copyHelper = null;
}
});
});https://stackoverflow.com/questions/45493304
复制相似问题