Fabric.js支持文本更改事件。

4

我目前使用的是最新版本的Fabric.js,即1.4.0。现在可以使用Itext对象进行文本编辑。每当一个Itext对象被编辑时,我想执行一些操作。到目前为止,我找到了modifiedmoving事件,但它们的工作方式不符合我的要求。

canvas.on('object:modified', function(e) {
  //do something, maybe count the number of characters
});

它们只在对象移动时工作。有没有办法在Itext文本更改时执行某些操作?也就是说...使用1.4.0版本中可用的新功能,即直接文本编辑。非常感谢。

2个回答

6

尝试使用以下代码来监听IText更改的文本变化事件:

canvas.on('text:changed', function(e) {
    console.log('text:changed', e.target, e);
});

或者针对IText对象的更改:

object.on('changed', function(e) {
    console.log('changed', object, e);
});

1
我之前尝试过,但实际上它与最新的发布版本不兼容。我已经找到了问题的答案,所以我会编辑你的回答。因为它很接近,所以我会给你点赞。谢谢。 - chris_techno25

5
对于任何寻找答案的人,补充Xenyal的回答,我发现最新版本的fabric.js构建不支持canvas下的"text:changed"。
使用(最新版本构建)http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.4.0/fabric.min.js
whatevertext.on("text:changed", function(e) {
    //this works with the latest release build where whatevertext is the name of the object
});

使用(开发版) https://rawgit.com/kangax/fabric.js/master/dist/fabric.js

canvas.on('text:changed', function(e) {
    //this will only work using the dev build
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接