You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fabric.js中以编程方式清除当前选中状态?

在Fabric.js中编程取消对象选中状态的方法

要清除Fabric.js画布中当前选中的对象(包括组),核心是调用画布实例的discardActiveObject()方法,再配合renderAll()更新画布视觉效果。

针对你描述的场景——用户选中组后触发selected事件,此时取消该组的选中状态,直接在事件处理器里执行以下操作即可:

// 假设你的Fabric.js画布实例变量为canvas
canvas.on('selected', function(e) {
    // 清除当前选中状态
    canvas.discardActiveObject();
    // 刷新画布,让选中框消失
    canvas.renderAll();
});

补充说明

  • discardActiveObject()会将画布的activeObject(单个选中对象)和activeGroup(选中的组)都置为null,彻底清除选中状态。
  • 必须调用renderAll(),否则画布上的选中高亮框不会立即消失,视觉上不会同步更新。
  • 如果需要仅针对特定对象取消选中,可以先判断目标对象:
    canvas.on('selected', function(e) {
        // 仅当选中的是组时取消选中
        if (e.target?.type === 'group') {
            canvas.discardActiveObject();
            canvas.renderAll();
        }
    });
    

内容的提问来源于stack exchange,提问作者Witek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 22:00:53