Canvas fabricjs:如何使画布对象(矩形)在鼠标:按下事件时始终处于活动状态?
如何使画布对象(矩形)的选择始终处于活动状态,即使在Canvas fabricjs:如何使画布对象(矩形)在鼠标:按下事件时始终处于活动状态?,canvas,mouseevent,fabricjs,mouseout,Canvas,Mouseevent,Fabricjs,Mouseout,如何使画布对象(矩形)的选择始终处于活动状态,即使在mouse:down事件之后也是如此?我尝试过子目标检查:true属性;但该物业不符合上述要求 this.fabricObject = new fabric.Rect({ left: this.objectSize.left, top: this.objectSize.top, width: this.objectSize.width, height: this.objectSize.height, fill: '#ccc'
mouse:down
事件之后也是如此?我尝试过子目标检查:true
属性;但该物业不符合上述要求
this.fabricObject = new fabric.Rect({
left: this.objectSize.left,
top: this.objectSize.top,
width: this.objectSize.width,
height: this.objectSize.height,
fill: '#ccc',
padding: 10,
subTargetCheck: true
});
this.canvas.add(this.fabricObject);
this.fabricObject.center().setCoords();
this.canvas.renderAll();
=>设置始终处于活动状态的代码
this.canvas.on('mouse:down', (e) => {
console.log(e.target)
this.canvas.getObjects().map((object:any) => {
object.set('active', true);
this.canvas.renderAll();
})
});
=>如果我对颜色填充进行此操作,则在鼠标移出事件中工作正常
this.canvas.on('mouse:down', (e) => {
console.log(e.target)
this.canvas.getObjects().map((object:any) => {
object.set('fill', 'green');
this.canvas.renderAll();
})
});
参考:
在JSFIDLE中,当单击方块时,它将处于活动状态,当单击方块外侧时,它将处于停用状态。。。所以我想在点击方块外的时候也激活它 您需要使用
canvas.setActiveObject()
在画布上手动设置活动对象
var canvas = new fabric.Canvas("canvas");
var ourRect = new fabric.Rect({
left: 100,
top: 100,
width: 75,
height: 50,
fill: "green",
padding: 10,
subTargetCheck: true
});
canvas.add(ourRect);
canvas.on("mouse:down", object => {
canvas.setActiveObject(ourRect);
});
请检查此代码对话框演示:
鼠标:out
是指将鼠标移出对象的边界<代码>鼠标:当你点击某个东西时按下。请用你真正需要的内容编辑你的帖子,你显然混淆了两者。更新了我的问题。非常感谢您的澄清。