将对象添加到fabric.Canvas而不调度`object:added`事件

时间:2016-05-24 11:44:03

标签: javascript canvas fabricjs

有没有办法在不调度fabric.Canvas事件的情况下将对象添加到object:added实例?

目前我不得不使用以下丑陋的方法:

var dispatchObjectAdded = true;

canvas.on('object:added', function () {
    if (!dispatchObjectAdded) {
        return;
    }

    // handle event..
});


// add normally with dispatch
canvas.add(object);

// add without dispatch
dispatchObjectAdded = false;
canvas.add(object);
dispatchObjectAdded = true;

这是有效的,因为object:added事件是同步调度的,但我确信有更好的方法 - 我找不到它是什么。

1 个答案:

答案 0 :(得分:0)

您可以在对象上定义自定义属性,并在事件处理程序中检查触发事件的对象是否具有该属性。

Here是一个很小的fiddle示例。