gpt4 book ai didi

javascript - 在 Sortable.js 中拖放列表 : How to set a different drop area than a Sortable list?

转载 作者:行者123 更新时间:2023-12-01 04:47:04 25 4
gpt4 key购买 nike

我正在使用这个小示例测试 Sortable.js 列表。我有一个要从中拖动的元素列表,以及另一个通过删除元素来存储它们的列表。

注意:Sortable.js 与 JQuery-ui sortable 不同,但缺乏 Sortable.js 文档让我考虑切换到 JQuery-ui Sortable,所以我会接受使用它的答案。

问题是,放置区域是列表,将其放置在列表面板的边缘并且无法正确放置项目有点令人沮丧。另外,如果列表没有边框,则很难找到空列表。

Sortable.js has an attribute named ghostClass ,根据文档,它应该存储放置占位符的类名。

所以我使用第二个列表面板的类名作为第一个列表的 GhostClass。然而,它不起作用,并且项目只有在列表上方而不是面板上方时才能正确放置。

HTML:

<div class="panel panel-primary">
<div class="panel-heading">Fruit store</div>
<div class="panel-body">
<ul id="fruit-list" class="list-group">
<li href="#" class="list-group-item" data-type="apple">Apple</li>
<li href="#" class="list-group-item" data-type="pear">Pear</li>
<li href="#" class="list-group-item" data-type="banana">Banana</li>
<li href="#" class="list-group-item" data-type="watermellon">Watermellon</li>
</ul>
</div>
</div>
<div class="panel panel-primary droppable-area">
<div class="panel-heading">Shopping cart</div>
<div class="panel-body">
<ul id="cart-list" class="list-group">
<li href="#" class="list-group-item" data-type="banana">Banana
<div class="pull-right"> <span id="badge" class="badge">5</span>

</div>
</li>
<li href="#" class="list-group-item" data-type="pear">Pear
<div class="pull-right"> <span id="badge" class="badge">2</span>

</div>
</li>
</ul>
</div>
</div>

JS:

// Create fruit store list
var list_element = document.getElementById("fruit-list");
var fruit_list = new Sortable(list_element, {
group: {
name: "fruit_group",
pull: 'clone',
put: false
},
sort: false,
ghostClass: "droppable-area",
});

// Create shopping cart list
var cart_list_element = document.getElementById("cart-list");
var cart_list = new Sortable(cart_list_element, {
group: {
name: "fruit_group",
pull: true,
put: true
},
});

有什么想法吗? Here is a working JSFiddle.

最佳答案

这就是 GhostClass 设置的作用:当拖动对象时,sortablejs 会创建一个占位符,如果您立即放开该项目,该项目将被删除。该占位符将获取为它设置的 GhostClass 值的类。

就您而言:

  • 删除 panel-div 中的“droppable-area”类名称。
  • 创建CSS:.droppable-area { border: 1px Solid black; }

现在,您将看到一个虚线框,表示如果停止拖动,项目将最终到达的位置。

关于javascript - 在 Sortable.js 中拖放列表 : How to set a different drop area than a Sortable list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com