我有 2 个对象,它们相互重叠。我想禁用对上层对象的事件监听,这样我就可以监听下层对象的事件。在 kinetic.js 中你可以设置:
http://kineticjs.com/docs/Kinetic.Shape.html#setListening
fabric.js 有什么解决方法吗?
最佳答案
您可以为此使用selectable: false
。从 1.2.11 版开始,“selectable”不仅可以控制对象的可选性,还可以在设置为 false
时使事件传播。
var canvas = new fabric.Canvas('c');
var rect1 = new fabric.Rect({
left: 200,
top: 200,
width: 200,
height: 200,
fill: 'rgba(255,0,0,0.5)',
selectable: false // <--- note this
});
var rect2 = new fabric.Rect({
left: 200,
top: 200,
width: 100,
height: 100,
fill: 'blue'
});
canvas.add(rect2, rect1);
参见 this example .
关于javascript - 禁用对象的事件监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577185/