Fabric.js 禁用对象选择但启用目标查找?

Fabric.js disable object selection but enable target find?

我想让所有织物 canvas 对象都可以在鼠标移动时被检测到,但不能被单击或 select。

if (isHoverMode == true) {
  canvas.selection = false
  canvas.skipTargetFind = true  // <-this cause object could be selectable!
  canvas.on('mouse:over', function(e) {
      // do something on e.target ...
  });
}

原来 canvas.skipTargetFind 必须设置为 true 才能使 mouse:over 事件起作用。但随后对象也可以 selected.

如何防止对象成为 selectable?

您要查找的对象 属性 是 selectable

像这样对单个对象使用它:

obj.set('selectable', false);

或者对所有对象都这样:

fabric.Object.prototype.selectable = false;

http://fabricjs.com/docs/fabric.Object.html#selectable