Im имеет проблему simulair как this SO question. У меня есть div с overflow: scroll
с droppables внутри. Если перетаскиваемый элемент падает ниже div, droppable все еще запускается. Решение этого вопроса не позволяет этому случиться. Тем не менее, у меня есть еще один div с droppables ниже моего первого div. Это решение не позволяет мне также отказаться от моего второго droppable.Включить droppable после его отключения
Так что мне пришлось немного изменить его, и вместо того, чтобы помещать событие check on drop, я положил его на событие over на droppable. Если droppable скрыт, я отключу его. Это делает второй droppable работать, но у меня возникли проблемы с повторным включением droppable для будущего использования. Ive пытался использовать событие 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);
}
});