function reverse(event, ui){
//alert("reverse");
$(".drag").draggable({
revert:true,
stop: function( event, ui ) {
$(".drag").draggable({revert:false})
}
});
}
$(function() {
var id;
var carType;
var save_event; //пробовал сохранить :)
var save_ui;
$(".drag").draggable({
cursor: "move",
drag: function(event, ui) { }
});
$(".drop").droppable({
start: function(event, ui) { },
hoverClass: "red",
drop: function( event, ui ) {
save_event = event;
save_ui = ui;
id = ui.draggable.attr('id');
carType = $(this).attr("data-carType");
var list = $(this).find('img');
if(list.length > 0){
reverse(event, ui)
}
else
{
$(this).css("background","green");
$.ajax({
type: "POST",
url: "${createLink(controller: 'ajaxActions', action: 'checkRoute')}/?carType=" + carType,
success: function (response, event, ui) {
//alert("response = "+response);
if(response == "CONTINUE")
{
formRouteOpen (event);
loadRoutes(carType, id)
}
if(response == "ONEROUTE")
{
$.ajax({
type: "POST",
url: "${createLink(controller: 'ajaxActions', action: 'changeRoute')}/" + id + "?carType=" + carType,
success: function (response) {
if (response == "OK") {
location.reload()
}
}
});
}
if(response == "NOROUTE")
{
//alert("NOROUTE");
reverse(event, ui)
}
}
});
}
}
});
});
при первом вызове функции reverse она отрабатывает как надо
if(list.length > 0){
reverse(event, ui)
}
а вот внутри ajax событие теряется, видимо. Можно ли туда как-то передать то событие. Фишка в чем: я перемещаю объект. и в пункте назначения делаю ajax запрос, в зависимости от него, у меня либо выполняется функция возврата объекта в исходное место, либо нет. а чтобы вернуть, нужно событие откуда начали перетаскивать. (может, конечно, что-то недопонимаю. реализую функцию drag&drop с реверсом)