Я использовал mouseover событие для обработки этого.Привязка события mouseover к объекту (в моем случае это TextBox ) и применение метода setActiveObject () на холсте путем передачи объекта решает эту проблему.Вот код:
this.canvas = new fabric.Canvas('canvas');
let text = new fabric.Textbox('Enter text here', {
fontFamily: 'Helvetica',
fill: "#C0C0C0",
textAlign: 'center',
borderColor: '#00c6d2',
editingBorderColor: '#00c6d2',
padding: 15,
originX: 'center',
originY: 'center',
width: 300,
});
text.on('mouseover', (e) => {
this.canvas.setActiveObject(text);
});
this.canvas.add(text);
this.canvas.centerObject(text);
this.canvas.renderAll();
Макруп выглядит следующим образом:
<canvas id="canvas" width="500" height="500"></canvas>