jquery ui - ¿Cómo cancelar una acción drop para jQuery droppable?
jquery-ui (1)
Tengo un jQuery UI dropable que acepta draggables. Quiero no permitir la acción de soltar si se cumplen ciertas condiciones.
¿Cómo cancelo la acción de soltar y hago una acción de revertir como?
La opción de accept
en el widget droppable:
Todos los draggables que coincidan con el selector serán aceptados. Si se especifica una función, se llamará a la función para cada elemento arrastrable en la página (se pasa como el primer argumento de la función), para proporcionar un filtro personalizado. La función debe devolver verdadero si se debe aceptar el elemento arrastrable.
Combinado con la opción de revert
en draggable debería obtener lo que necesita:
$(".draggable").draggable({
revert: ''invalid''
});
$("#droppable").droppable({
accept: function(el) {
/* This is a filter function, you can perform logic here
depending on the element being filtered: */
return el.hasClass(''acceptable'');
}
});
Tenga en cuenta que en este ejemplo específico, también podría escribir accept: ".acceptable"
, lo que haría que el droppable solo acepte elementos con clase acceptable
. Otra opción es cuando ocurre su evento personalizado, simplemente aplique o elimine la clase acceptable
según sea necesario.
Aquí hay un ejemplo: http://jsfiddle.net/andrewwhitaker/rUgJF/3/
La parte inferior tiene un enlace que alterna "aceptabilidad" en un off.