Snap.svg如何获取我们拖动的元素

时间:2015-04-07 11:15:50

标签: javascript svg drag-and-drop snap.svg

我正在使用Snap.svg库并做一些拖动和放大下降。我的问题是我如何得到我拖延的元素的id。我正在尝试实施拖放操作,只有选定的区域才是有效的放置目标。我不知道如何检查dragend在我的拖动下面是什么元素。 这来自文档:

  

Element.drag(onmove,onstart,onend,[mcontext],[scontext],[econtext])

     

当元素被拖过另一个元素时 drag.over.id 也会被触发

我如何收听drag.over.id?

我的代码:

Snap.load("images/drag-drop.svg", function (f) {
  Snap('.state-02').append(f);
});

var s = Snap(".state-02 svg");
var origTransform;
var dropZone = Snap('#drop-zone');

var block = s.rect(100, 100, 100, 100, 20, 20);
block.attr({
    fill: "rgb(236, 240, 241)",
    stroke: "#1f2c39",
    strokeWidth: 3,
    id : 'box'
});

block.drag(

  function onThisDrag(dx, dy, x, y, e) {
    this.attr({
      transform: origTransform + (origTransform ? "T" : "t") + [dx, dy]
    });
  },

  function onThisDragStart(x, y, e) {
    origTransform = this.transform().local;
    console.log('start drag');
  },

  function onThisDragEnd(event) {
    console.log(event);

});

0 个答案:

没有答案