2014-08-29 42 views
1

我想使用画布做一个简单的图像编辑器。我的代码在这里http://jsfiddle.net/qrd3muyh/使用纸张开关按钮js不工作

如何使开关按钮工作?如果我在我的本地主机上运行它,当点击按钮铅笔时出现这些错误:Uncaught TypeError: undefined is not a function

并且当点击圆形按钮时:Uncaught ReferenceError: myCircle is not defined

为什么会发生并解决它的任何线索?非常感谢之前..

回答

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一些良好的阅读。

+0

Ach,所以..我现在得到它..感谢您的帮助:) – thom 2014-08-29 06:01:41