Javascript 不使用canvas.getActiveObject()方法更改画布的文本

Javascript 不使用canvas.getActiveObject()方法更改画布的文本,javascript,jquery,html,canvas,fabricjs,Javascript,Jquery,Html,Canvas,Fabricjs,在不点击画布区域的情况下,我希望在画布上添加文本后更改文本。在我的代码中,我必须先选择画布文本,然后在textarea中键入时它会改变。 这是我的密码: //html //Css 有人知道怎么做吗? 这是我的小提琴。这应该可以做到: canvas.getObjects()[0].text = "Boo Boo"; canvas.renderAll(); 这是一把小提琴: 这当然会得到第一个对象,但由于您只有一个对象,所以这应该是好的 您可以随意将Boo-Boo更改为任何您想要的$(this).

在不点击画布区域的情况下,我希望在画布上添加文本后更改文本。在我的代码中,我必须先选择画布文本,然后在textarea中键入时它会改变。 这是我的密码: //html

//Css

有人知道怎么做吗?
这是我的小提琴。

这应该可以做到:

canvas.getObjects()[0].text = "Boo Boo";
canvas.renderAll();
这是一把小提琴:

这当然会得到第一个对象,但由于您只有一个对象,所以这应该是好的

您可以随意将Boo-Boo更改为任何您想要的$(this).val()

怎么样

var text = new fabric.Text('Honey', {
  ...
});
canvas.add(text);

$("#textinput").keyup(function(event) {
    text.setText(event.target.value);
    canvas.renderAll();
});
只要您有一个对
文本的引用
,您就不需要其他任何东西

 canvas {  border:1px solid #000; }
.controles {  margin:50px 0;   }
canvas.getObjects()[0].text = "Boo Boo";
canvas.renderAll();
var text = new fabric.Text('Honey', {
  ...
});
canvas.add(text);

$("#textinput").keyup(function(event) {
    text.setText(event.target.value);
    canvas.renderAll();
});