我在这里有一个魔兽世界玩家的食谱跟踪工具:http://www.wowgeeks.com/tracker.php?item=recipes。我有三个自定义设计列表:“有”列表,“需要”列表,以及可供选择的原始项目列表。我将最后一个列表作为可拖动列表,其connectToSortable
设置为前两个列表共享的类。
三个列表的HTML:
<div class="sub-third">
<h1>My Recipes</h1>
<div class="tracker-list sortable" id="have-list">
</div>
</div>
<div class="sub-third">
<h1 style="color: #f90;">Recipes I Need</h1>
<div class="tracker-list sortable" id="need-list">
</div>
</div>
<div class="sub-third">
<h1 style="color: #eee;">Add Recipes</h1>
<div class="tracker-list" id="add-list">
<div class="tracker-item" id="itemid_123">
<a class="tracker-icon" rel="item=43509"><img class="wow-icon" src="/images/icons/small/inv_scroll_03.jpg" alt="Icon" /></a>
<p>Bad Clams</p>
</div>
<!-- ETC... -->
</div>
</div>
以下是draggable / sortables的JavaScript:
$(function() {
$('#add-list .tracker-item').draggable({
connectToSortable : '.sortable',
helper : 'clone'
});
$('#have-list, #need-list').sortable({
connectWith : '.tracker-list',
cursor : 'move',
revert : true,
placeholder : 'ui-state-highlight',
update : function() {
var order = $(this).sortable('serialize');
order += '&userid=1&itemtype=Recipes&charid=0';
//alert(order);
}
});
$('.tracker-list, .tracker-item').disableSelection(); // So dragging doesn't accidentally select any text
$('#have-list, #need-list').sortable('refresh'); // Refresh the lists
});
出于某种原因,在我将项目从第3个列表拖到第1个列表一两次之后,它突然拒绝合作。第3个列表中的项目突然变得不可拖动。但是将项目从第3个列表拖动到第2个列表的工作正常。您可以尝试上面的链接并自行测试。谁能告诉我问题可能是什么?
答案 0 :(得分:1)
$('#add-list .tracker-item').draggable({
connectToSortable : '.target-list',
您只将第三个列表连接到此处的第二个列表。如果您将目标列表类添加到第一个列表,则可以从第三个列表拖动到第一个列表。