jQuery Droppable, удалить элемент

Небольшой вопрос, надеюсь, с простым ответом: я использую jQuery с возможностью перетаскивания и опускания для размещения элементов в док-станции. Используя приведенный ниже код для drop.

$("#dock").droppable({
            drop: function(event, ui) {
                //Do something to the element dropped?!?
            }
        });

Однако я не смог найти способ узнать, какой элемент на самом деле был удален, поэтому я могу что-то сделать. Это возможно?


person Pez Cuckow    schedule 04.06.2010    source источник


Ответы (1)


Из документации по событию перетаскивания:

Это событие запускается, когда принятый перетаскиваемый элемент перебрасывается «поверх» (в пределах допуска) этого перетаскиваемого элемента. В обратном вызове $(this) представляет собой droppable, на который перетаскивается. В то время как ui.draggable представляет перетаскиваемый.

So:

$("#dock").droppable({
     drop: function(event, ui) {
               // do something with the dock
               $(this).doSomething();

               // do something with the draggable item
               $(ui.draggable).doSomething();
           }
});
person karim79    schedule 04.06.2010
comment
Нужно ли удалять активные классы css - person aroos; 01.03.2014
comment
Для меня это оставляет элемент с состоянием перетаскивания, положением: относительным и левыми/правыми координатами - person Tom B; 15.05.2015
comment
Как именно вы выбираете перетаскиваемый элемент в функции doSomething()? - person ; 18.08.2015
comment
Этот код работает. $("#drag").draggable(); $("#drop").droppable({ drop: function (event, ui) { $(this).css("background-color","red"); } }); $("#drop").droppable({ out: function( event, ui ) { $(this).css("background-color","yellow"); } }); почему этот код не работает? $("#drag").draggable(); $("#drop").droppable({ drop: function (event, ui) { $(this).css("background-color","red"); } out: function( event, ui ) { $(this).css("background-color","yellow"); } }); codepen - person MaxySpark; 26.03.2016
comment
Мне пришлось использовать ui.draggable[0] . ui.draggable — это массив. - person Ryan The Leach; 24.05.2017