我正试图在我的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,谢谢!