У меня есть капельный контейнер, в котором также содержатся сортируемые элементы. Эти два компонента не связаны между собой, но сортируемый контейнер должен находиться внутри контейнера для отбрасывания, чтобы конструкция работала.
Моя проблема заключается в том, что, когда я переставляю сортируемые элементы, он вызывает такое же событие сбрасывания, как если быЯ перетащил на него перетаскиваемый элемент.
Этот jsFiddle демонстрирует проблему: http://jsfiddle.net/48tmyLeb/2/
Пока что единственное решение, которое я нашел, это выполнить проверку в событии сбрасывания, чтобы убедиться, чтовыпадающий элемент имеет перетаскиваемый тип. Тем не менее, это не идеально, так как сортируемый по-прежнему вызывает изменение непрозрачности.
$('.droppable-container').droppable({
snap: true,
hoverClass: 'droppable-hover',
drop: function (event, ui) {
// Ignore droppable events triggered by sortable
if (ui.draggable.hasClass('my-sortable-element')) {
return;
} else {
// Do something
}
}
});
... Я думаю, что должен быть лучший путь, чем этотКто-нибудь решил это?
РЕДАКТИРОВАТЬ: Спасибо @Twisty за предоставление решения. Для меня все, что мне было нужно, это указать опцию accept при создании Droppable:
$('.droppable-container').droppable({
accept: 'tr',
...
});