我目前正在使用最新版本的Fabric.js,即1.4.0。现在可以使用Itext对象进行文本编辑。我想在编辑IText对象时执行某些操作。到目前为止,我发现了modified
和moving
事件,但它们的工作方式与我希望的不同。
canvas.on('object:modified', function(e) {
//do something, maybe count the number of characters
});
它们仅在移动对象时起作用。无论如何我们可以在Itext的文本发生变化时执行某些操作吗?那就是......使用1.4.0中提供的新功能,即直接文本编辑。非常感谢你。
答案 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
});