在Fabric.js中,如果有两个画布,一个是使用jQuery隐藏的,那么剩下的画布将变得不可编辑。为什么会这样?有这个问题的解决方案吗?这是问题的jsfiddle。
HTML
<canvas id="c" width="200" height="50"></canvas>
<hr/>
<canvas id="c2" width="200" height="50"></canvas>
<button id="hide">hide the top canvas</button>
CSS
var canvas = new fabric.Canvas('c');
var canvas2 = new fabric.Canvas('c2');
canvas.add(new fabric.Text('hello', {left: 50, top: 40}));
canvas2.add(new fabric.Text('hi', {left: 20}));
$('#hide').click(function() {
$('#c').parent().hide();
});
答案 0 :(得分:3)
隐藏另一个画布后,只需在可见画布上调用canvas.calcOffset();
。
我已经更新了你的jsfiddle:http://jsfiddle.net/pVE33/7/