支持FabricJS免费绘图的Windows 8应用程序?

时间:2013-08-06 18:44:48

标签: windows-8 fabricjs

我正在尝试在我的Windows 8应用程序中实现免费绘图,但我不断收到此错误:

“0x800a01bd - JavaScript运行时错误:对象不支持此操作    File:fabric.js,Line:12857,Column:7“

将图像添加到画布等都可以像在演示中一样工作,但在VS中,当我在此代码中悬停在“fabric”上时,fabric.Shadow不会在列表中显示为选项:

setShadow: function(options) {
      return this.set('shadow', new fabric.Shadow(options));
},

有谁知道为什么这对我不起作用?我从www.fabricjs.com创建了一个api版本,包括所有模块。我已经复制了免费绘图演示(http://fabricjs.com/freedrawing/)中的代码,但没有任何乐趣。我也尝试删除任何创建阴影的引用,因为我不打算使用该功能,但它仍然崩溃。谢谢

1 个答案:

答案 0 :(得分:0)

谢谢!它现在对我有用。我确实必须更改演示提供的JavaScript以使其工作。作为对未来可能希望在Windows 8中使用它的任何人的参考,jquery代码需要更加严格,以便更新选择器。

提供代码:

var $ = function(id){return document.getElementById(id)};


var drawingModeEl = $('drawing-mode'),
    drawingOptionsEl = $('drawing-mode-options'),
    drawingColorEl = $('drawing-color'),
    drawingShadowColorEl = $('drawing-shadow-color'),
    drawingLineWidthEl = $('drawing-line-width'),
    drawingShadowWidth = $('drawing-shadow-width'),
    drawingShadowOffset = $('drawing-shadow-offset'),
    clearEl = $('clear-canvas');

我取消了上面的内容,每次需要时都使用标准的jquery选择器$('#drawing-mode')。然后事件提供为:

drawingModeEl.onclick = function() {}



drawingColorEl.onchange = function() {}

所以我把上面改为:

$('#drawing-mode').on('click', function () {});


$('#drawing-color').change(function (){});

现在一切都像在演示中那样工作。喜欢这个API,谢谢!