Javascript KineticJS中的事件委托
我想知道是否可能从另一个对象内的对象引用创建事件委派,这就是场景 我在这两个圆之间有两个圆和一条线,每次任何圆改变自己的位置时,它也必须更新线的位置,此时我已经创建了一条自定义线,它将引用这两个圆作为属性(原点、目标) 但是没有以这种方式约束事件 我尝试做的是类似于>Javascript KineticJS中的事件委托,javascript,kineticjs,Javascript,Kineticjs,我想知道是否可能从另一个对象内的对象引用创建事件委派,这就是场景 我在这两个圆之间有两个圆和一条线,每次任何圆改变自己的位置时,它也必须更新线的位置,此时我已经创建了一条自定义线,它将引用这两个圆作为属性(原点、目标) 但是没有以这种方式约束事件 我尝试做的是类似于> this.origin.on('dragstart dragmove',function(){ console.log("origin mouse move"); this.setPoints([origin.ge
this.origin.on('dragstart dragmove',function(){
console.log("origin mouse move");
this.setPoints([origin.getX(),origin.getY(), target.getX(), target.getY()]);
this.draw();
});
这是
然后:
演示:这对于了解如何使用kinectJs非常有用,我只想知道在每个对象引用上使用line属性的目的是什么,谢谢!
buildArrow: function(origin,target){
var arrowInstance = new Shape.Arrow({
points: [origin.getX(),origin.getY(), target.getX(), target.getY()],
stroke: '#629DD1',
tension: 1
});
arrowInstance.origin=origin;
origin.line = arrowInstance;
arrowInstance.target=target;
target.line = arrowInstance;
return arrowInstance;
},
updatePosition : function() {
this.points([this.origin.getX(),this.origin.getY(), this.target.getX(), this.target.getY()]);
},
this.on('dragstart dragmove',function(){
var centerpoint = (this.cellSize/2)
this.setX(((Math.round(this.getX() / centerpoint) * centerpoint)));
this.setY(((Math.round(this.getY() / centerpoint) * centerpoint)));
this.line.updatePosition();
});