Fabric.js dbclick 事件子元素

Fabric.js dbclick event child element

我在 canvas 中有一个 fabric 元素,我想在该特定元素上添加一个 dbclick 事件。

customText = new fabric.Text(customTextContent, {
    pp_type: 'custom_text',
    pp_label: _t('my text'),
    // lockUniScaling: true,
    uniqId: uniqId,
    fill: customColor,
    fontFamily: customFont,
    fontSize: 12,
    scaleX: self.baseTextScale,
    scaleY: self.baseTextScale
});


customText.on('mouse:dblclick', function (e){
   console.log('canvas db clicked');
   console.log(e);
});

我做错了什么?

window.fabric.util.addListener(canvas.upperCanvasEl, 'dblclick', function (e, self) {
    var target = canvas.findTarget(e);
}

目标将包含所单击元素的所有规范。所以只需要根据类型或您需要的任何条件来切换行为。

看官方docs/demos.

http://fabricjs.com/events

这里解释说,如果你正在监听 canvas 上的通用双击事件,你需要使用:

canvas.on('mouse:dblclick', eventHandler)

而如果您正在监听对象:

text.on('mousedblclick', eventHandler)

这是旧的命名模式,从未更改以尽可能保持向后兼容性