У меня возникла конкретная проблема: когда я перетаскиваю перетаскиваемый объект на буксируемый объект, а затем удаляю этот перетаскиваемый объект (перетаскиваемые элементы - это «файлы и папки», а отбрасываемый элемент - «Корзина») внутри обратного вызова события «drop» ", JavaScript падает в бесконечный цикл. Мой точный код:
$("#trash").droppable({
over : function () {$("#trash").addClass("over")},
out : function () {$("#trash").removeClass("over")},
drop : function (e, ui) {
$("#trash").removeClass("over");
var id=$($(ui.draggable).parent()).attr("id"), fl=false;
$($(ui.draggable).parent()).hide();
$(".ui-draggable-dragging").remove();
if (id[1]=='l') {
fl=true;
id=flid(id);
}else{
id=fid(id);
}
$.post("ajax/recycle_file.php", {fid : id, folder : fl}, function (data) {
var elid=$($(ui.draggable).parent()).attr("id");
$("#"+elid).draggable("destroy");
$("#"+elid).remove(); //Here is where the endless loop starts
});
}
});
Сообщение, которое я получаю с консоли javascript в Google Chrome:
Uncaught TypeError: Cannot read property 'options' of undefined