Primera pregunta, así que sean amables :)jQuery reversión pueda arrastrar y dejar de evento
Lo que estoy tratando de hacer es llamar a una función cuando el usuario suelta el que pueden arrastrarse, y antes de la animación de reversión se ha completado.
Por lo que puedo ver, el evento de detención se invoca solo cuando la reversión ha finalizado. He intentado pasar una función a la opción revertir de arrastrar, pero parece que no funciona. Aquí hay un poco de mi código para demostrar;
$("a").draggable({
helper:function(){
return $("<div/>",{id:"mydrag",text:"link"}).appendTo("body");
},
revert:function(evt,ui){
// $("#mydrag").fadeOut("slow");
return true;
},
stop:function(evt,ui){
console.log("fin");
}
});
Si descomentar la primera línea de la función de reversión - fadeout - a continuación, el elemento se desvanece, pero no vuelve. La consola solo registra "fin" cuando la animación de revertir se ha completado.
¿Alguien me puede ayudar? Huelga decir que he buscado mucho en Google una respuesta, pero sin suerte.
Buster
Gracias, eso es muy útil. Me pregunto por qué la devolución de llamada revertida permanece sin documentar. De hecho, me pregunto por qué la documentación de la interfaz de usuario de jquery en general es tan pobre en comparación con jquery core. ¡Gracias de nuevo! – BusterLuke
está en el camino correcto, pero llamar a originalPosition literalmente no devuelve nada, incluso con su jsfiddle. No estoy seguro de dónde encontraste esta parte porque llamar a .animate (indefinido) básicamente no hace nada. La animación de revertir es en realidad el resultado de regresar verdadero desde dentro de la función de devolución de llamada. Así que, básicamente, lo que está haciendo su código es simplemente eludir la 'puesta en cola' de la animación, lo que le permite ejecutarse simultáneamente con cualquier otra animación que elija poner en su función de devolución de llamada seguida de regresar verdadera. Conclusión: eliminar este .animate ($ helper.originalPosition); – mkralla11
@Mike, tiene toda la razón, '$ helper.originalPosition' está realmente' 'undefined'' durante el evento' revert'. Sin embargo, al eliminar la llamada a 'animate (undefined)', el ítem no se revierte y se desvanece "en su lugar". Definitivamente hay algo de sombra aquí ... –