我遇到了fabricj和canvas的问题。我写函数:
var canvas = new fabric.Canvas('c');
jq().ready(function(){
jq("#addText").click(function(){
var text = new fabric.Text(jq("#textCanvas").val(), { left: 0, top: 0 });
text.setColor(jq("#textColor option:checked").val());
text.setFontSize(jq("#textSize option:checked").val());
text.setFontFamily(jq("#fontFamily option:checked").val());
canvas.add(text);
})
jq与$没有冲突。 当我尝试在Firefox中添加文本时我可以,但是当我尝试使用Opera,Chrome或Safari时,我无法做到。我没有关于错误的信息。
你有什么想法吗?
答案 0 :(得分:1)
您缺少canvas.renderAll()方法。
var canvas = new fabric.Canvas('c');
$().ready(function(){
$("#addText").click(function(){
var text = new fabric.Text($("#textCanvas").val(), { left: 0, top: 0 });
// text.setColor($("#textColor option:checked").val());
// text.setFontSize($("#textSize option:checked").val());
// text.setFontFamily($("#fontFamily option:checked").val());
canvas.add(text);
canvas.renderAll();
});
});
见工作example