我正在尝试使用canvas创建一个简单的图像编辑器。我的代码在http://jsfiddle.net/qrd3muyh/
。
如何让开关按钮工作?如果我在本地主机中运行它,单击按钮时会出现这些错误:Uncaught TypeError: undefined is not a function
点击圈子按钮时:Uncaught ReferenceError: myCircle is not defined
。
为什么会发生这种情况并解决它的任何线索?非常感谢...
答案 0 :(得分:1)
原因是因为所有PaperScript
标记都成为范围对象(称为PaperScope
)。你得到未定义错误的原因是因为jQuery回调函数没有引用myCircle
等。
要解决此问题,您应该通过paper
对象访问当前活动的纸质范围。
$('#pencil').on('click', function(){
console.log(paper.tools); # See how many tools are in your paper object
paper.tools[1].activate(); # Activate one of them.
});
$('#circle').on('click', function(){
paper.tools[0].activate(); # Activate the other.
});
要获取当前有效的工具,您可以执行以下操作:
$('#pencil').on('click', function(){
var current = paper.tool; # Access currently active tool.
current.remove(); # remove this tool
});
Here是关于PaperScopes
的一些好读物。