Я проанализировал проблему в jquery UI.
это происходит из-за того, что метод "prepareOffsets" вызывается только тогда, когда вы перемещаете перетаскиваемый элемент к верхнему краю раскрываемого элемента сброса. "prepareOffsets" исправляет новый размер dropppable, и все работает правильно.
Небольшой патч в
$.ui.plugin.add( "draggable", "scroll", {
Плагин, метод:
drag: function( event, ui, i ) {
исправил эту проблему. Вместо того, чтобы вызывать «prepareOffsets» только тогда, когда он находится в верхней части сбрасываемого объекта,
вставить следующую строку:
if (scrolled == false){scrolled = true;}
чуть выше последнего оператора if метода "drag".
Над этим утверждением:
if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {
$.ui.ddmanager.prepareOffsets( i, event );
}
Возможно, это не идеальное решение (так как оно может слишком часто вызывать «prepareOffsets»), но оно решает все проблемы, которые у меня были с расширенным параметром droppable.
«over», «out» и «drop» корректно работают с этим патчем.
Приветствия