Fabricjs。禁用所有事件/选择。 (制作eyeDropper)

时间:2018-05-03 09:44:09

标签: fabricjs fabricjs2

需要使用吸管改变所选的物体颜色,我可以用这种方式获得颜色:

canvas.on('mouse:up', function (e) {
    var c = document.getElementById("c");
    var ctx = c.getContext("2d");
    var imgData = ctx.getImageData(canvas.getPointer().x, canvas.getPointer().y, 1, 1);
    alert("rgb " + imgData.data[0] + " " + imgData.data[1] + " " + imgData.data[2]);
});

但是点击某处选择其他或取消选择当前对象。有什么方法可以暂时禁用所有事件?

在对象上设置selectable = false也不是解决方案,因为如果点击背景或其他对象,将取消选择当前对象。

1 个答案:

答案 0 :(得分:0)

通过所有对象循环并将事件设置为false将起作用。

canvas.getObjects().forEach((obj, index) => {
       obj.evented = false;
});