Fabric.js:禁用取消选择

时间:2017-10-04 14:55:36

标签: javascript fabricjs

我需要在Fabric.js 1.7.19中禁用对所选对象的取消选择。我试过了:

  object.on('deselected', function(e) {
    canvas.setActiveObject(object);
  });

这似乎可以完成这项工作,但删除所选对象并不起作用:remove()触发器取消选择'同样,导致一些不良行为。

至于文档中提到的onDeselect()回调,我似乎无法让它发挥作用。有人能帮我一个例子吗?

在这里小提琴:https://jsfiddle.net/gl03/khwmk4yx/

1 个答案:

答案 0 :(得分:1)

您可以检查对象是否存在于canvas._objects数组中。

function find(objs, obj){
    for (var i = 0; i< objs.length; i++)
      if(objs[i] == obj) return 1;
  return 0;
} 
 image.on('deselected', function(e) {
    if(find(canvas._objects,image)) {
      console.log('deselected');
      canvas.setActiveObject(image);
     }
 });

请参阅https://jsfiddle.net/4bvb8ofz/2/