Как определить, когда сортируемый элемент пользовательского интерфейса jQuery перемещен и находится в недопустимом состоянии - PullRequest
1 голос
/ 09 июля 2010

У меня есть два соединяемых сортируемых списка.Я хочу вызвать событие, когда элемент удален из его текущего списка, но НЕ в другой связанный список или когда элемент сортируется.Кто-нибудь знает, как это сделать?

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

Ответы [ 2 ]

3 голосов
/ 09 июля 2010

Вы можете смотреть $(".selector").sortable({out: function(e, ui) {});, чтобы установить переменную всякий раз, когда объект перетаскивается за пределы списка.Если он выпущен, то срабатывает .sortable({stop: function(e, ui) {});.Вы можете определить, не был ли объект пропущен в списке, если .sortable({over: function(e, ui) {}); не вызывался после триггера out.

1 голос
/ 09 июля 2010

Опираясь на ответ Иана Ветерби , вы также можете сделать сортируемую область сбрасываемой и использовать события doppable out и over, чтобы отслеживать, когда элемент входит и выходит из области.Основываясь на демоверсии jQuery , вы можете добавить такую ​​функциональность:

var isInside = true;

$("#sortable1, #sortable2").sortable({
    connectWith: '.connectedSortable',
    stop: function() { alert(isInside) }
})
.droppable({
    over: function() { isInside = true; },
    out: function() { isInside = false; },
    accept: "li"
});

Вот демоверсия: http://jsfiddle.net/wy2AY/

...