this jsfiddle的目标如下:
我尝试在用户点击画布后立即使用IText enterEditing
方法,但光标没有显示,因此用户不知道他们可以输入文字。此外,在Chrome和Firefox中,用户根本无法输入文字。有什么想法吗?
的Javascript
var canvas = new fabric.Canvas('c');
canvas.on('mouse:down', function(options) {
if (options.target == null)
addText(options.e);
});
function addText(e) {
var text = new fabric.IText('',{
left: e.offsetX,
top: e.offsetY
});
canvas.add(text);
text.enterEditing();
}
答案 0 :(得分:4)
尝试以下代码,您需要将文本对象设置为画布中的活动对象。
var text = new fabric.IText('',{
left: e.offsetX,
top: e.offsetY
});
canvas.add(text).setActiveObject(text);
text.enterEditing();
答案 1 :(得分:1)
试试这个小提琴我使用这个代码,希望它可以帮助你一些
var canvas = new fabric.Canvas('c');
canvas.on('mouse:down', function(options) {
if (options.target == null)
addText(options.e);
});
function addText(e) {
var custontxt=new fabric.IText('Tap and Type', {
fontFamily: 'helvetica',
fontSize:30,
fontWeight:400,
fill:'red',
fontStyle: 'normal',
top:250,
cursorDuration:500,
left:250,
});
canvas.add(custontxt);
}