Estoy buscando una manera de activar el evento para revertir el estado si algo no se valida, por ejemplo, si el elemento no existe, lo creará desde otra lista, pero si ya existe debe ir a else y devuelve el elemento a su posición original:¿Cómo configurar jquery-ui arrastrable revertir a verdadero si después de una validación decido mover el elemento de nuevo?
$("#catalog ul").droppable({
tolerance: 'fit',
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept: ":not(.ui-sortable-helper)",
drop: function(event, ui) {
//check if already exists
if($(this).find("#"+$(ui.draggable).attr("id")).length==0){
$("<li id="+$(ui.draggable).attr("id")+"></li>").text(ui.draggable.text()).appendTo(this)
.draggable({
revert: 'invalid',
stop: function(){
$(this).draggable('option','revert','invalid');
}
}).droppable({
greedy: true,
tolerance: 'touch',
drop: function(event,ui){
ui.draggable.draggable('option','revert',true);
}
});
}else{
//want to make the object go back by setting true to revert
return false;
}
}
})
No importa, lo encontré después de revisar todo el código. Solo tengo que poner ui.draggable.draggable ('opción', 'revertir', verdadero) dentro del else. Wow estaba intentando esto por casi un día, lol. Simplemente respondiendo mi propia pregunta si alguien presta atención como yo y obtiene el mismo problema. – kenji
kenji, la forma correcta de responder a su propia pregunta (¡lo cual está perfectamente bien en SO!) Es hacerlo literalmente: publique una respuesta a continuación, luego dos días más tarde (SO lo hace esperar), hágala la respuesta aceptada. –