如何在 fabric.js 中触发 canvas 上的自定义事件?

How can I fire custom events on canvas in fabric.js?

我想在 fabric.js 的 canvas 上注册 JavaScript 事件。如何在 canvas 上触发自定义事件?

如果您想使用自定义事件扩展 fabricjs 事件系统,那非常简单:

var canvas = new fabric.Canvas('c');
// listen for any event like fabricjs do
canvas.on('custom:event', function(event) {
  // you will have your data here in `event` object 
});
// fire any event with any payload you want
canvas.fire('custom:event', { any: 'payload' });

我更喜欢这种方式,因为您不使用任何其他库,并且在所有情况下(本地和自定义事件)仍然具有相同的语法。

更新! 不要忘记你应该在触发事件之前定义监听器! 用一个工作示例检查 this fiddle。