目前,我正在与fabricjs合作一个项目。在项目中,我使用fabricjs中的Itext在画布中添加文本。我想当用户点击默认文本,然后自动删除默认文本。我使用这个代码。
$("#addText").on("click", function addText() {
var oText = new fabric.IText('Tap and Type', {
left: 120,
top: 120,
fontFamily: 'Bree Serif',
fontSize: 22,
cache:false
});
$('#oText').css('fontSize', $('#fontSize').val() + 'px');
oText.set({ fill: $(".addText-options .sp-preview-inner").css("background-color") });
oText.id = 'userDesign';
canvas.add(oText);
currentObject.getColor(tinycolor.toRgbString());
canvas.renderAll();
saveCanvasState();
})
发布于 2017-04-26 14:48:39
你也可以看看这个fiddle https://jsfiddle.net/xpntggdo/8/。我已经实现了一些额外的功能,比如动态宽度文本框。在这种情况下,宽度不断增加,直到到达画布的边界。
您可能已经注意到,如果在创建对象时设置了预定义的宽度,文本将自动转到下一行。我希望这段代码或者至少这段代码的一部分可以帮助你做任何你正在做的事情。
textBox.on("editing:entered", function (e) {
var obj = canvas.getActiveObject();
console.log("entered editing");
if(obj.text == "Enter Text")
{
obj.selectAll();
obj.removeChars();
}
});
https://stackoverflow.com/questions/40502421
复制相似问题