取消选择fabric.js对象事件

时间:2014-06-23 13:33:18

标签: fabricjs

每次特定的结构对象被取消选择时,我都会尝试执行一些代码"。我可以处理任何取消选举事件吗?我已经通过所选事件选择了对象的时间,但是没有找到任何关于取消选择的文档的文档。在画布级别,我有选择:已清除和选择:已创建事件,但取消选择也没有。

干杯, 贡萨洛

3 个答案:

答案 0 :(得分:15)

使用before:selection:cleared事件并获取活动对象或组。之后,您可以检查它是否与您的特定结构对象相对应。

canvas.on('before:selection:cleared', function() {
    var clearedObject;
    if(typeof(canvas.getActiveObject()) !== 'undefined') {
        clearedObject = canvas.getActiveObject();
    }
    else {
        clearedObject = canvas.getActiveGroup();
    }
    //do stuff with the deselected element if it is the specific one you want.
});

答案 1 :(得分:1)

只是让大家知道最新版本的Fabric.js包含Object classdeselected事件。你现在唯一需要做的是:

var aFabricObject = <create your fabric object>

aFabricObject.on('deselected', function (options) {
     // your code here
});

答案 2 :(得分:0)

answer的更新:
'deselected' 事件会触发异步方法,因此您无法立即获得 'options.deselected'。

var aFabricObject = <create your fabric object>

aFabricObject.on('deselected', function (options) {
  console.log(options.deselected) // output undefined
  setTimeout(() => {
    console.log(options.deselected) // output the correct target
  }, 0)
});