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



我正试图在我的windows 8应用程序中实现免费绘图,但我一直收到这个错误:

"0x800a01bd-JavaScript运行时错误:对象不支持此操作文件:fabric.js,行:12857,列:7"

将图像添加到画布等所有操作都与演示中一样,但在VS中,当我在这段代码中悬停在"fabric"上时,它就是fabric。阴影未显示为列表中的选项:

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

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

谢谢!它现在对我有用。不过,我确实需要更改演示提供的JavaScript才能使其正常工作。正如对将来可能想在Windows8中使用它的人的引用一样,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选择器$("#drawin-mode")。然后事件被提供为:

drawingModeEl.onclick = function() {}

drawingColorEl.onchange = function() {}

所以我把上面的改为:

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

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

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

最新更新