0
Im的模拟问题与this SO question一样。我有一个与overflow: scroll
与可滴入里面的div。如果一个可拖动的区域落在div下面,则可触发区域仍然会触发。该问题的解决方案确实可以防止这种情况发生。不过,我还有另一个div,在我的第一个div下面有droppables。这个解决方案也阻止我放弃第二次投资。在禁用后启用droppble
所以我不得不稍微修改一下,而不是把检查放在drop事件上,我把它放在droppable上的over事件上。如果可以隐藏,我禁用它。这使得第二个droppable工作,但林无法重新启用droppable供将来使用。我试图使用droppable事件,但我想它也会被禁用,当我禁用droppable时,因为它没有触发。如何在禁用后启用droppable?还是有更好的方法来做到这一点?
$('.droppable').droppable({
over: function(event, ui) {
var myOverflowObj = $(this).closest(".module, #process-window");
if (myOverflowObj.length) {
var cTop = myOverflowObj.position().top + parseInt(myOverflowObj.css("margin-top"));
var cBtm = myOverflowObj.position().top + parseInt(myOverflowObj.css("margin-top")) + myOverflowObj.height();
var dTop = $(this).position().top + parseInt($(this).css("margin-top"));
var dBtm = $(this).position().top + parseInt($(this).css("margin-top")) + $(this).height();
if ((dBtm > cTop && dTop < cBtm) == false) {
$(this).droppable("option", "disabled", true);
}
}
},
out: function(event, ui) {
$(this).droppable("option", "disabled", false);
}
});