fabric.js将事件侦听器分配给多个事件的对象

Daz*_*win 4 javascript ruby-on-rails fabricjs

我之所以这样问,主要是出于好奇,因为可以复制代码,但此刻刻意陷入困境,重复使我感到肮脏,而我在文档中找不到它。

假设我有一个rect = fabric.Rect,我想添加一个监听器,例如说,移动并修改它们以完成相同的操作:

rect.on('moving', function() {
    console.log('moving or modified'); 
});

rect.on('modified', function() {
    console.log('moving or modified'); 
});
Run Code Online (Sandbox Code Playgroud)

有可能以某种方式将它们结合起来吗?

我是JS的新手,所以这在JS中可能是一件很简单的事情,但是我还没有遇到过,但是再说一次,在我所见过的Fabric文档中没有提到。

Joh*_*n M 5

我来晚了,但是以防万一其他人遇到这个问题-您只需要将公共代码移入函数中,然后将键/值对传递给on()函数即可:

function doLog() {
    console.log('moving or modified');
}

rect.on({
    'moving': doLog,
    'modified': doLog
});
Run Code Online (Sandbox Code Playgroud)