2011-11-16 39 views
10

¿Cómo se escucha el evento drag cuando se arrastra un jquery-ui-sortable?evento de arrastre para jquery-ui-sortable

Por estrategia de hit-n-trial, he intentado el evento drag desde jquery-ui-draggable pero no está funcionando.

$('.widget_container').sortable({ 
    drag: function(event, ui) { console.log('drag'); } 
}); 

Respuesta

26

Uso sort evento para este fin:

$(".sortable").sortable({ 
    sort: function(e) { 
     console.log('X:' + e.screenX, 'Y:' + e.screenY); 
    } 
}); 

http://jsbin.com/kegeb

+0

wow! hombre ingenioso. Me pregunto cómo me perdí eso. –

+1

Tan obvio ahora que lo he visto ... jaja. ¡Perfecto! – daGUY

1

Si necesita controlar el evento cuando el usuario comienza a arrastre, debe utilizar handle en lugar de sort:

$(".sortable").sortable({ 
    handle: function(e) { 
     console.log('Handled'); 
    } 
}); 

este evento se produce al comienzo de la calle y cuando se carga la página (http://api.jqueryui.com/sortable/#option-handle).

le sugiero que revise también esta respuesta, lo que explica la forma correcta de manejar sus elementos cuando su lista se actualiza: Get order of list items in a jQuery Sortable list after resort

Buena suerte

+0

Probé el método 'manejar' y descubrí que no podía distinguir entre hacer clic y arrastrar y, curiosamente, deshabilitó la función de hacer clic para ordenar. – ariebear

Cuestiones relacionadas