【发布时间】:2017-08-12 14:50:11
【问题描述】:
我正在开发在线印刷媒体应用程序,例如“vistaprint.in”,用户可以在其中修改织物 js 画布上的预制设计。在 fabric.js 对象中,对象没有唯一标识符...所有文本对象为每个对象创建一个输入,以便用户只需更改输入即可直接更改所需文本...您可以在右侧的屏幕截图中看到画布上每个文本对象都有输入...我现在正在做的是当输入更改时我循环遍历所有文本对象并匹配输入文本和文本对象文本如果匹配然后我将新文本更新到该对象..这很好第一次但不是之后...我尝试但无法找到解决此问题的方法。
这就是画布和输入现在的样子 Screenshot of app
这是我现在创建的用于更改画布文本的功能
$(document).on('input', '#cardalltexthex input', function(){
v = $(this).attr('text');
newtext = $(this).val();
objs = canvas.getObjects();
objs.forEach(function(e) {
if (e && e.type === 'i-text') {
console.log(e.text);
console.log(newtext);
if (e.text == v) {
e.setText(newtext);
canvas.renderAll();
}
}
});
});
【问题讨论】:
标签: javascript jquery fabricjs