Спасибо за прочтение.
Две проблемы:
Я создаю систему типа списка задач, которая будет использовать вложенные сортируемые списки.
Вот очень простой демонстрационный код:
<script>
$(function(){
$('.sortable_test > li').attr('style', 'border:1px solid red; padding:3px; margin:2px;');
$('.sortable_test').sortable({
distance: 5,
connectWith: ['.sortable_test'],
placeholder: 'ui-state-highlight',
forcePlaceholderSize: true
});
})
</script>
<ul class='sortable_test'>
<li>
Item
<ul class='sortable_test'>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
</ul>
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
<li>
Item
</li>
</ul>
Проблема 1:
Если вы попытаетесь перетащить элемент из вложенного подсписка в этот список, он отлично сработает. То же самое, если вы попытаетесь изменить порядок элементов в основном списке.
Однако, если вы хотите перетащить элемент из подсписка в основной список или наоборот, это МОЖЕТ быть сделано, но заполнитель появится не сразу, он попытается сохранить его в том же списке. Вы должны перетаскивать его повсюду, прежде чем он зарегистрируется в списке, в котором вы закончили.
В конце концов, он, кажется, понимает, что вы хотите попасть в подсписок или выйти из него, но это очень дергано.
Я думаю, что, возможно, он запутался в том, какой список имеет приоритет, поскольку технически вы перетаскиваете оба.
Таким образом, если вы попытаетесь перетащить элемент из основного списка в подсписок, он будет считать весь подсписок одним элементом и попытается переместить его как таковой.
Кто-нибудь сталкивался с этим? Есть идеи? Возможно, есть способ указать, какой список имеет приоритет, или сделать более очевидным для плагина, какой список вас интересует?
Проблема 2:
Если вы возьмете первый элемент, большой с подсписком, и попытаетесь переупорядочить его, иногда он попытается попасть в свой собственный подсписок, вызвать ошибку и исчезнуть. Я могу обойти это, добавив дескриптор и скрыв подсписок при щелчке дескриптора (уменьшив его размер, что устраняет проблему) до начала перетаскивания, но может ли кто-нибудь еще придумать способ справиться с этим?
Похоже, проблема связана с перетаскиванием элемента большой высоты.
Браузеры:
Это все в файрфоксе. IE, похоже, вообще не может работать с вложенными сортируемыми элементами. Кажется, НЕТ способа получить элемент из подсписка.
Спасибо!