draw2d 拖动开始事件

draw2d on drag start event

我想每次在用户开始拖动图形时调用我的自定义回调函数。我试着这样做:

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

但问题是,每次调用我的函数时,图形都定位到 0,0 坐标。我不确定这有什么问题,我该如何解决。

您可以处理 dragstart 事件,而不是重新定义 onDragStart 方法:

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

根据 the draw2d documentation,该事件是由 onDragStart 触发的。 ui参数包含xyshiftKeyctrlKey.

您可以在 this jsfiddle 中查看代码的运行情况。当您开始拖动矩形时,控制台中会显示一条消息。绿色矩形使用 dragstart 事件并正确响应。红色的是重新定义了onDragStart方法,有你问题中提到的问题