我确实已经在jQuery论坛上提出了这个问题,但它们并没有像这里那样活跃。
我在页面上有多个可放置区域时遇到问题。我有一个永远不会移动的'静态'可放置区域,位于具有多个可放置区域且可以滚动(溢出:滚动)的div之上。当我滚动div以使div中的一个droppables在静态droppable“下面”时,如果我放在静态区域上,就会触发drop事件。
对不起,这个解释可能很模糊,所以我把样本放在一起:
标记:
<div style="float:left; width:300px; height: 300px; border: 1px solid #000;">
<ul class="draggables">
<li>Draggable</li>
<li>Draggable</li>
<li>Draggable</li>
<li>Draggable</li>
<li>Draggable</li>
</ul>
</div>
<div style="float:left; width:300px; height: 300px; border: 1px solid #000;">
<div class="static-droppable" style="width:298px; height:100px; border:1px solid #f00;">Static Drop Area</div>
<div style="width:298px; height:198px; overflow-y:scroll; border:1px solid #0f0;">
<ul class="scroll-droppables">
<li style="border:1px solid #00f; height:60px;">Droppable</li>
<li style="border:1px solid #00f; height:60px;">Droppable</li>
<li style="border:1px solid #00f; height:60px;">Droppable</li>
<li style="border:1px solid #00f; height:60px;">Droppable</li>
</ul>
</div>
</div>
使用Javascript:
//create draggables
jQuery('.draggables li').draggable({
revert: 'invalid',
cursor: 'move',
helper: 'clone'
});
//the static droppable area
jQuery('.static-droppable').droppable({
greedy: true,
drop: function(event, ui) {
alert('Dropped on static drop area!');
}
});
//scrolling droppables
Query('.scroll-droppables li').droppable({
drop: function(event, ui) {
alert('Dropped on scrolling drop area!');
}
});
我确实试过让静态掉落区'贪婪',但这似乎没有帮助。
关于如何阻止这种情况的任何想法?
答案 0 :(得分:0)
我遇到了同样的问题。我能够通过首先初始化“静态”Droppable来修复它。