4

I want to call my custom callback function every time, when user starts dragging figures. I tried to do it like so:

figure.onDragStart = function (x, y, shiftKey, ctrlKey) {
    myfunc();
};

But the problem is, every time when my function is called, figure is positioned to 0,0 coordinate. I'm not sure what is wrong with that and how can I fix it.

Jacobian
  • 10,122
  • 29
  • 128
  • 221

1 Answers1

3

Instead of redefining the onDragStart method, you can handle the dragstart event:

figure.on("dragstart", function(event, ui) {
    // Do something
});

According to the draw2d documentation, that event is triggered by onDragStart. The ui parameter contains x, y, shiftKey and ctrlKey.

You can see the code in action in this jsfiddle. A message is displayed in the console when you start dragging a rectangle. The green rectangle uses the dragstart event and responds correctly. The red one redefines the onDragStart method, with the problem mentioned in your question.

ConnorsFan
  • 70,558
  • 13
  • 122
  • 146