Как отменить действие drop для jQuery droppable?
У меня есть jQuery UI droppable, который принимает перетаскиваемые. Я не хочу допускать действия сброса, если выполняются определенные условия.
Как отменить действие drop и сделать revert как действие?
1 ответов
на accept
опция на droppable widget:
все перетаскиваемые объекты, соответствующие селектору будут принимать. Если функция указанная функция будет вызвана для каждого перетаскиваемого на странице (пройдено в качестве первого аргумента функция), обеспечить изготовленный на заказ фильтр. Функция должна возвращать true, если таковым должно быть принято.
в сочетании с revert
вариант на draggable вам что нужно:
$(".draggable").draggable({
revert: 'invalid'
});
$("#droppable").droppable({
accept: function(el) {
/* This is a filter function, you can perform logic here
depending on the element being filtered: */
return el.hasClass('acceptable');
}
});
обратите внимание, что в этом конкретном примере вы также можете написать accept: ".acceptable"
, что сделало бы droppable только принимать элементы С class acceptable
. Таким образом, другой вариант-когда ваше пользовательское событие происходит, просто примените или удалите acceptable
класс по мере необходимости.
вот пример:http://jsfiddle.net/andrewwhitaker/rUgJF/3/
внизу есть ссылка переключения "приемлемость" на.