Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fabric js multi-select moving不会触发单个对象';令人感动的事件_Javascript_Fabricjs - Fatal编程技术网

Javascript fabric js multi-select moving不会触发单个对象';令人感动的事件

Javascript fabric js multi-select moving不会触发单个对象';令人感动的事件,javascript,fabricjs,Javascript,Fabricjs,如果我有多对对象,比如,(A1,A2),(B1,B2),(C1,C2),我想要的是当对象A1/B1/C1移动时,对象A2/B2/C2也在移动。当我多重选择对象,比如A1和B1,并移动它们时,A2和B2根本不会移动,因为单个对象事件不会触发。我怎样才能修好它 谢谢 这里有一支笔来演示: 织物运动场 帆布{ 位置:相对位置; 显示:内联块; 宽度:100%; } 功能绑定(obj1、obj2){ obj1.on(“移动”,功能(){ obj2.left=this.left+50; obj2.to

如果我有多对对象,比如,(A1,A2),(B1,B2),(C1,C2),我想要的是当对象A1/B1/C1移动时,对象A2/B2/C2也在移动。当我多重选择对象,比如A1和B1,并移动它们时,A2和B2根本不会移动,因为单个对象事件不会触发。我怎样才能修好它

谢谢

这里有一支笔来演示:


织物运动场
帆布{
位置:相对位置;
显示:内联块;
宽度:100%;
}
功能绑定(obj1、obj2){
obj1.on(“移动”,功能(){
obj2.left=this.left+50;
obj2.top=this.top;
});
}
var canvas=newfabric.canvas(“fabriccanvas”);
var A1=新结构.Rect({
宽度:200,高度:100,左侧:0,顶部:50,角度:30,
填充:“rgb(255,0,0)”
});
var A2=新结构.Rect({
宽度:200,高度:100,左侧:50,顶部:50,角度:30,
填充:“rgba(255,0,0,0.5)”,
可选:false,
});
var B1=新结构.Rect({
宽度:100,高度:100,左侧:35,顶部:25,角度:-10,
填充:“rgb(0200,0)”
});
var B2=new fabric.Rect({
宽度:100,高度:100,左侧:85,顶部:25,角度:-10,
填充:“rgba(0200,0,0.5)”,
可选:false,
});
结合(A1,A2);
结合(B1,B2);
画布。添加(A1、A2、B1、B2);
您可以在上使用
(“对象:移动”)
,检查它是否匹配要绑定到的对象,或者它是否包含一个对象,然后进行相应的更新。如果它包含要绑定到的对象,则必须根据容器本身的位置和大小对其进行偏移


织物运动场
帆布{
位置:相对位置;
显示:内联块;
宽度:100%;
}
功能绑定(obj1、obj2){
canvas.on('对象:移动',函数(事件){
如果(obj1==事件目标){
obj2.left=obj1.left+50;
obj2.top=obj1.top;
}else if(event.target中的“\u objects”){
if(事件目标[“_对象”]”包括(obj1)){
obj2.left=obj1.left+event.target.left+event.target.width/2+50;
obj2.top=obj1.top+event.target.top+event.target.height/2;
}
}
});
}
var canvas=newfabric.canvas(“fabriccanvas”);
var A1=新结构.Rect({
宽度:200,
身高:100,
左:0,,
前50名,
角度:30,
填充:“rgb(255,0,0)”
});
var A2=新结构.Rect({
宽度:200,
身高:100,
左:50,,
前50名,
角度:30,
填充:“rgba(255,0,0,0.5)”,
可选:false,
});
var B1=新结构.Rect({
宽度:100,
身高:100,
左:35,
前25名,
角度:-10,
填充:“rgb(0200,0)”
});
var B2=new fabric.Rect({
宽度:100,
身高:100,
左:85,
前25名,
角度:-10,
填充:“rgba(0200,0,0.5)”,
可选:false,
});
结合(A1,A2);
结合(B1,B2);
画布。添加(A1、A2、B1、B2);

可能重复@Ruzihm,但不完全相同。A2与A1特异性结合。如果我使用全局
对象:移动
,我仍然不能做我想做的事情。或者我错过了什么。