无需单击画布区域,我想在将文本添加到画布后更改文本。在我的代码中,我必须先选择画布文本,然后在输入 textarea 时更改它。这是我的代码://html
<canvas id="c" width="400" height="200"></canvas>
<br>
Change Text :
<textarea style="margin:0px;" id="textinput" rows="5" ></textarea>
//脚本
var canvas = new fabric.Canvas('c');
var text = new fabric.Text('Honey', {
fontSize: 100,
left: 50,
top: 50,
lineHeight: 1,
originX: 'left',
fontFamily: 'Helvetica',
fontWeight: 'bold'
});
canvas.add(text);
$("#textinput").keyup(function(event) {
//document.getElementById('textinput').addEventListener('keyup', function (e) {
// alert("hi");
var obj = canvas.getActiveObject();
if (!obj) return;
obj.setText(event.target.value);
canvas.renderAll();
});
//CSS
canvas { border:1px solid #000; }
.controles { margin:50px 0; }
任何人都知道如何做到这一点?这是我的小提琴演示。