Изменен объект Ellipse, но событие не генерируется в fabric.js - PullRequest
0 голосов
/ 25 апреля 2019

Демо

Шаги воспроизведения:

  1. ждать 3 с и click JSFiddle result. Эллипс покажет.
  2. click объект эллипса, консоль не будет выводиться.

Вопросы:

  1. Почему Ellipse не обновляется автоматически, когда я setOptions?
  2. Как я могу правильно слушать event?

1 Ответ

1 голос
/ 25 апреля 2019

Вам нужно позвонить setCoords после установки rx,ry значений.

DEMO

var canvas = new fabric.Canvas('c', {
  width: 400,
  height: 400
});
var object = new fabric.Ellipse({
  rx: 0,
  ry: 0,
  fill: 'red',
  top: 100,
  left: 100,
})

object.on('mousedown', function(e) {
  console.log(e)
})
canvas.add(object)
setTimeout(() => {
  object.set({
    rx: 40,
    ry: 60
  }).setCoords();
  canvas.renderAll();
}, 3000);
canvas{
  border:1px solid;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.7.0/fabric.js"></script>
<canvas id='c'></canvas>
...