Пользовательский интерфейс jQuery, сбрасываемый за пределы видимой области jScrollpane, ловит событие удаления

0

У меня есть два соседних jScrollPanes, которые содержат отбрасываемые элементы li. Первый div находится над вторым (по оси y), поэтому переполнение из верхней части происходит под "под" под ним (оба переполнены: скрыты). Проблема заключается в том, что когда я бросаю перетаскиваемый элемент в нижнюю jScrollPane, событие захватывается элементами сбрасываемым как верхним, так и нижним, хотя элемент в верхней части находится за пределами видимой области его контейнера.

Как предотвратить "скрытые" элементы (те, что находятся за пределами области прокрутки), от захвата события перетаскивания? Я попытался вставить логику, чтобы проверить, является ли droppable: скрытым или видимым, но это не сработало. Игра с z-index тоже не работала. Я хотел делегировать обработчик droppable() в контейнер, а не иметь его на ли, но это не поддерживается.

Теги:
jquery-ui-droppable
jquery-jscrollpane

1 ответ

0
Лучший ответ

Я решил эту проблему, используя этот ответ и изменив его для работы с jScrollPane. Разница в том, что есть два разных родителя, которые вы должны учитывать. Размер "родителя", как указано в другом решении, можно получить из $(this).closest(".jspContainer"), но вам также необходимо учитывать смещение видимой области. Если вы только прокручиваете вертикально, смещение равно parseInt(#(this).closest(".jspPane").css("top").

Ещё вопросы

Сообщество Overcoder
Наверх
Меню