如何使用带有Raphael路径和矩形的OnDragOver?

时间:2017-07-10 19:05:13

标签: javascript raphael

我有以下基于RaphaelJS的路径

var myPath = ctx.path("M 15 15 l 240 0 l 60 215 l -300 -70 z");

在以下'画布'

var ctx = new Raphael(document.getElementById('myCanvasId'));
ctx.setViewBox(0,0,w,h,true);
ctx.setSize('100%', '100%');

问题是,我无法在画布上获取新的附加元素以触发我放在myPath上的onDragOver事件,这很简单:

myPath.onDragOver(function(e) { alert('fired'); });

元素创建是动态完成的,元素上的绑定也是如此。它们存储在变量中,可以在定义之后的任何地方访问。

元素由:

创建
ctx.rect((positionBox.x2 - positionBox.x) / 2 + randomX, (positionBox.y2 - positionBox.y) / 2 + randomY, postitSize.x, postitSize.y)

并且阻力被

绑定
postIts[postItCount]['item'].drag(move, start, up);

拖动处理事件函数是

var start = function () {
  this.odx = 0;
  this.ody = 0;
  this.animate({"fill-opacity": 0.8}, 200);
},move = function (dx, dy) {
  this.translate(dx - this.odx, dy - this.ody);
  this.odx = dx;
  this.ody = dy;
},
up = function () {
  this.animate({"fill-opacity": 1}, 200);
  console.log('end', this.odx, this.ody);
};

当我将创建的元素拖到我使用onDragOver绑定的元素上时,无论如何都不会触发任何内容。

我有什么遗失的吗?

提前致谢。

0 个答案:

没有答案