I have a droppable with a drop event handler:
$(this).droppable({
drop:function(){
console.log('OMG You Dropped It!');
}
});
I have a draggable:
$(this).draggable();
What I want to do is trigger the drop event handler on the droppable without actually dragging and dropping the draggable. I want to simulate the actual behavior without physically performing the behavior.
I thought something like this would do:
$(droppable).trigger('drop', [draggable]);
Unfortunately, it's not quite that simple. Does anyone know how I can accomplish this?
As pointed by
StuperUser
and based onajmurmann
's answer, with the recent versions of jQuery you should do:You can trigger the function associated with the drop call via the option-method:
This way you get whatever would happen when dropping something on droppable. Of course you could just execute the function instead of assigning it. It's nonetheless a good idea to assign a function to drop, that you define somewhere else, just for clarities sake.
You should move the code in your
drop
handler to a separate function.You can then call the function both in the handler and elsewhere.