使用纸张js切换按钮不起作用

时间:2014-08-29 04:37:53

标签: paperjs

我正在尝试使用canvas创建一个简单的图像编辑器。我的代码在http://jsfiddle.net/qrd3muyh/

如何让开关按钮工作?如果我在本地主机中运行它,单击按钮时会出现这些错误:Uncaught TypeError: undefined is not a function

点击圈子按钮时:Uncaught ReferenceError: myCircle is not defined

为什么会发生这种情况并解决它的任何线索?非常感谢...

1 个答案:

答案 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的一些好读物。