Fabric.js dbclick 事件子元素
Posted
技术标签:
【中文标题】Fabric.js dbclick 事件子元素【英文标题】:Fabric.js dbclick event child element 【发布时间】:2020-10-26 07:56:00 【问题描述】:我在画布中有一个织物元素,我想在该特定元素上添加一个 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);
);
我做错了什么?
【问题讨论】:
也许你应该使用addEventListener
就像在this 答案中一样?
我想我可以试试,但我认为这是在 Fabricjs 支持 db click 之前所做的事情。所以 dbclick 应该可以工作:/ 可能我没有好的版本。
也许this 可以帮忙?
很高兴听到 :) 也许你可以为未来的读者回答你自己的问题..
@MoshFeu 你说得对:)
【参考方案1】:
window.fabric.util.addListener(canvas.upperCanvasEl, 'dblclick', function (e, self)
var target = canvas.findTarget(e);
目标将包含被点击元素的所有规范。所以只需要考虑类型或任何你需要的条件来切换行为。
【讨论】:
【参考方案2】:查看官方文档/演示。
http://fabricjs.com/events
这里解释说,如果你在你需要使用的画布上监听一个通用的双击事件:
canvas.on('mouse:dblclick', eventHandler)
如果你正在监听对象:
text.on('mousedblclick', eventHandler)
这是旧的命名架构,从未更改以尽可能保持向后兼容性
【讨论】:
以上是关于Fabric.js dbclick 事件子元素的主要内容,如果未能解决你的问题,请参考以下文章