Создание jQuery-сброса позволяет принимать элементы из сортируемой, которая использует connectWith - PullRequest
10 голосов
/ 22 октября 2010

У меня есть сортируемый список, который использует connectWith, чтобы гарантировать, что он может быть отсортирован только в пределах его собственных типов списков.

Теперь я пытаюсь создать отображаемый элемент мусорной корзины, который появляетсявнизу окна просмотра при сортировке элемента.Этот элемент находится вне контекста списков и просто удаляет любой элемент, который был добавлен в него.Желаемая функциональность идентична удалению ярлыка с рабочего стола телефона Android, если вы с ним знакомы.

Проблема в том, что, хотя моя корзина для мусора - это капля, которая принимает '*', моя сортируемаясказал только connectWith другим элементам .dropZone, что означает, что я не могу заставить ни один из моих сортируемых элементов вызвать состояние наведения на элементе корзины.

Я пытался сделать каждый сортируемый элемент перетаскиваемымна событии start, но, конечно, я не перетаскиваю этот перетаскиваемый момент и поэтому он не активирован.Можно ли удовлетворить оба требования или мне придется вручную обнаруживать мусорный бак?

Ответы [ 2 ]

17 голосов
/ 30 октября 2010

Поскольку connectWith принимает селектор, вы можете предоставить ему селектор, который выбирает как другие списки подключенных, так и вашу корзину.

$("#sortable1, #sortable2").sortable({
    connectWith: '.connectedSortable, #trash'
}).disableSelection();

$("#trash").droppable({
    accept: ".connectedSortable li",
    hoverClass: "ui-state-hover",
    drop: function(ev, ui) {
        ui.draggable.remove();
    }
});

Пример: http://jsfiddle.net/petersendidit/YDZJs/1/

1 голос
/ 28 октября 2010

Как насчет изготовления мусорного бака .dropZone?Тогда вы получите правильное drop событие, и вы сможете правильно обработать удаление.

Могут быть побочные эффекты от того, что мусорная корзина может быть отсортирована, но я думаю, что с ними легко обойтись.

Если это не соответствует вашим требованиям, вы можете выложить демо где-нибудь , чтобы мы знали, что именно нам нужно было бы обойти, чтобы сохранить вашу структуру нетронутой, при этом добавляя ещефункциональность вам нужна?

...