在 Snap.svg 中,如何使 Element.drag() 仅在特定变量为真时工作

In Snap.svg, how to make Element.drag() work only when a particular variable is true

我有这样的功能:-

function dragMap(evt){
  if (mousemode == 'pan'){
    Snap('#zoombox').drag(move, start, stop);
  }
}
dragMap();

我的挑战是当变量 mousemode 更改为其他内容时,例如鼠标模式 == 'simple'

即便如此,以下拖动代码仍继续显示其对拖动 Element(#zoombox) 的影响。

Snap('#zoombox').drag(move, start, stop);

我希望拖动 work/execute 仅当变量 mousemode 设置为 'pan'. 前进的方向应该是什么?

几个选项。

  1. Snap('#zoombox').undrag() 每当鼠标模式改变时。

  2. 编写您自己的拖动处理程序。有几个例子 here。只需在函数中添加对变量的检查。