我有这个简单的
html5文件的问题:
var canvas = window.__canvas = new fabric.Canvas('c'); canvas.backgroundColor = '#efefef'; canvas.freeDrawingBrush.width = 10; canvas.renderAll(); document.getElementById('drawingMode').addEventListener('click',function(e) { e.target.innerHTML = canvas.isDrawingMode ? 'Start freedrawing' : 'End freedrawing'; canvas.isDrawingMode = !canvas.isDrawingMode; });
canvas { border: 1px solid #ccc; padding: 20px; } /*.canvas-class { border-left: 20px solid black; padding: 20px; }*/
<button id="drawingMode">Start freedrawing</button> <div class="wrapper"> <canvas id="c" class="canvas-class" width="400" height="300" style="border:1px solid #ccc;"></canvas> </div>
这是一个简单的html5文件,带有javascript实现,你可以在画布上绘图.它适用于Windows 7(我的旧笔记本电脑)上的所有浏览器.
但是使用Chrome& Windows 8上的Firefox(我的新笔记本电脑)你无法绘制任何东西,它不起作用!
Windows 7上的绘图模式:
>铬:好的
> firefox:好的
>歌剧:好的
> ie10:好的
>野生动物园:好的
Windows 8上的绘图模式:
>铬:没有
> firefox:没有
>歌剧:好的
> ie10:好的
>野生动物园:好的
请问有人问题是什么?奇怪的是,DrawingMode不适用于chrome和firefox,但在Windows 8下的opera,IE10和Safari上工作正常.
解决方法
Fabric.js认为您的Chrome / Firefox已启用触控功能,因此它会将自身附加到触摸事件而不是鼠标事件.
我不太清楚这是Chrome / Firefox或Fabric中的错误还是两者兼而有之.
见https://github.com/kangax/fabric.js/issues/670和https://github.com/kangax/fabric.js/issues/450