取消选择Fabric.js中的选定对象

时间:2013-12-02 22:13:45

标签: javascript html5-canvas fabricjs

我的画布上有多个类型对象。 我可以对特定对象上的所有内容进行缩放,旋转等。

但是当我选择一个特定的对象时,我想改变它的stroke颜色。

canvas.observe('mouse:down', function(e) {

    activeInstance = canvas.getActiveObject();
    activeGroupInstance = canvas.getActiveGroup();
    if (activeInstance!=null){        
        activeInstance.set("stroke","#FF0000");
    }
}

代码效果很好。但问题是stroke颜色或任何其他有效property没有直接反映,这意味着我必须取消选择当前选定的对象才能看到其属性的变化。所以我的问题是出了什么问题?如果这是我们必须取消选择/单击所选对象的常见行为,那么,如何使用代码取消选择所选对象,即不使用鼠标单击,只需使用代码片段。

1 个答案:

答案 0 :(得分:0)

我们可以使用下面提到的解决方案。

要丢弃您可以在功能下使用的所有活动组。当前活动的组和火灾事件如果由于鼠标事件而由结构调用该功能,则该事件将作为参数传递并发送到火灾功能自定义事件。当用作方法时,e param没有任何应用程序。

canvas.discardActiveGroup();

要丢弃sigle对象,您可以像这样使用。丢弃当前活动的对象和火灾事件。如果由于鼠标事件而由fabric调用该函数,则该事件将作为parmater传递并发送到fire函数以获取自定义事件。当用作方法时,e param没有任何应用程序。

canvas.discardActiveObject();

我最后一次最终渲染了顶部画布和辅助容器画布。

canvas.renderAll();