2010-08-28 14 views
5
$('#element').draggable ({ 
    stop: function() { 
     alert ('stopped'); 
     //do some action here 
    } 
}).trigger('stop'); 

no pasa nada, pensó #element es posible arrastrar y ahora evento no ejecutar después de arrastre es completa. Probé .triggerHandle, así como 'dragstop' como EventType, sin suerteJquery .trigger método ('stop') para .draggable

Respuesta

5

Utilice esta opción para activar en su lugar:

.trigger('dragstop') 

Si quieren que se comporte completamente como un evento normal, utilice .bind ('DragStop ', función) para adjuntarlo también, la opción de inicio se comporta de forma ligeramente diferente.

+0

he intentado, la misma – selytch

+1

@selytch - ¿Usted intentó utilizar. enlazar()? La devolución de llamada se trata de forma un poco diferente de lo que se llama un enlace directo que se llama aquí. –

+0

¡Gracias, eso funciona! No me di cuenta .bind funciona de manera diferente. Está esto documentado? (probablemente sí ...) – selytch

-1

Sé que esta es una vieja pregunta, pero ahora es posible desencadenar el evento de arrastre real de jquery ui en lugar de arrastrar y arrastrar mediante el jQuery simulate plugin.

Aquí está el código que utilicé porque necesitaba el acceso a los elementos de romperse mi objeto de tamaño variable (datos sólo es accesible en la parada de arrastre)

$(this).resizable({ 
    handles: 'e', 
    stop: function (e, ui) { 
     var resizable = ui.element;    
     resizable.simulate("mousedown", {clientX: e.clientX, clientY: e.clientY}); 
     resizable.simulate("mousemove", {clientX: e.clientX + 10, clientY: e.clientY + 10}); 
     resizable.simulate("mouseup", {clientX: e.clientX, clientY: e.clientY}); 
    } 
}); 
Cuestiones relacionadas