Fabric.js支持文本更改事件

时间:2014-11-18 16:08:05

标签: javascript web fabricjs

我目前正在使用最新版本的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 个答案:

答案 0 :(得分:5)

对于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 :(得分:4)

对于寻找答案的人,在Xenyal的答案中添加更多信息,我发现fabric.js的最新版本不支持画布下的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
});