Raphael js在javascript对象中拖动

Raphael js在javascript对象中拖动,javascript,object,raphael,drag,Javascript,Object,Raphael,Drag,今天我遇到了一个小问题,我想我可以试试堆栈溢出。我将简短而甜蜜(我删除了很多代码以明确这一点) 我最近发现了拉斐尔,我喜欢它。 我制作了一些可拖动的圆,它的工作原理如下: 工作脚本: <script> var paper = Raphael(100,100,500,500); var circ = paper.circle(50,50,10) var start = function(){ }; var move = function(dx,dy) { this.attr(

今天我遇到了一个小问题,我想我可以试试堆栈溢出。我将简短而甜蜜(我删除了很多代码以明确这一点)

我最近发现了拉斐尔,我喜欢它。 我制作了一些可拖动的圆,它的工作原理如下:

工作脚本:

<script>
var paper = Raphael(100,100,500,500);
var circ = paper.circle(50,50,10)

var start = function(){ };
var move = function(dx,dy)
{
    this.attr({cx: this.ox + dx, cy: this.oy + dy});
};
var up = function(){};
circ.drag(move,start,up);
<script>
我找不到如何在对象内部使用拖动功能使其可拖动。

好了,就这样。我希望我已经清楚了,如果我写这篇文章的方式有什么问题,请原谅,但这是我的第一篇

谢谢所有帮助我的人


Wilson

myobject
中,
这个变量指向这个对象,而不是拉斐尔圆。由于
myobject
没有
drag
功能,因此代码会产生错误。要使其工作,必须引用必须拖动的Raphael对象,即

function myobject(vx,vy,vr) {
    ...
    this.circle = paper.circle(x,y,r);    
    ...
    this.circle.drag(move,start,up);
    ...
}

很好,@Hubert OG是对的,但是我还必须改变我声明函数的方式

var start()=函数 到 this.start()=函数

警告:填写圆圈/表格,因为如果不填写,则必须单击精细边框才能将其移动。

是否可以使用工作版和非工作版?
function myobject(vx,vy,vr)
{
    var x,y,r;
    x=vx;y=vy;r=vr
    paper.circle(x,y,r);    
    var start = function(){};
    var move = function(dx,dy){};
    var up = function(){};

    this.drag(move,start,up);  // error here this line crash

}
function myobject(vx,vy,vr) {
    ...
    this.circle = paper.circle(x,y,r);    
    ...
    this.circle.drag(move,start,up);
    ...
}