【问题标题】:draw2d on drag start event拖动开始事件上的draw2d
【发布时间】:2018-01-23 12:04:51
【问题描述】:

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

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

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

【问题讨论】:

  • 能否提供myfunc代码?
  • 是的,当然。可能只是function myfunc(){ console.log("Hello world") }。所以,它只是一个任意函数。
  • 您是否尝试将return true; 添加到figure.onDragStart
  • 我刚刚尝试了figure.onDragStart = function () { return true; } 并得到了相同的效果。因此,当触发此事件时,似乎库本身将图形定位到 0,0 点。

标签: javascript draw2d draw2d-js


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    相关资源
    最近更新 更多