函数未在Javascript中使用Paper JS定义

函数未在Javascript中使用Paper JS定义,javascript,paperjs,Javascript,Paperjs,更新 将颜色更改函数设置为全局可解决此问题 当使用colorChange函数单击按钮“红色”时,我正在尝试更改路径的颜色。不管我的逻辑如何,错误显示“函数”colorChange“未定义”。像path()这样的内部paper js函数正在工作,但我的函数没有 <head> <!-- Load the Paper.js library --> <script type="text/javascript" src="js/paper.js"></script

更新 将颜色更改函数设置为全局可解决此问题

当使用colorChange函数单击按钮“红色”时,我正在尝试更改路径的颜色。不管我的逻辑如何,错误显示“函数”colorChange“未定义”。像path()这样的内部paper js函数正在工作,但我的函数没有

<head>
<!-- Load the Paper.js library -->
<script type="text/javascript" src="js/paper.js"></script>
<!-- Load external PaperScript and associate it with myCanvas -->
<script type="text/paperscript" src="js/myScript.js" canvas="myCanvas"></script>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
    <button onClick='colorChange(id)' id='red'>Red</button> // Using it here
    <canvas id="myCanvas" resize="true"></canvas>
</body>

脚本
标记移到页面底部,而不是页眉中。这应该会让它起作用

脚本
标记移动到页面底部,而不是页眉中。这应该会让它起作用

这个问题的答案不是重复的。是的,我试过你提出的解决方案。但它不起作用。我尝试从控制台调用函数,但失败了,因为againIt与函数的声明方式无关(如重复问题)。应该重新打开此问题。问题是
颜色更改
仅存在于paperscript的范围内,在外部不可见。在您的情况下,它应该被全局定义为按钮点击的处理程序。@manji谢谢!我对堆栈溢出版主的反应感到失望。这让我很开心@这个问题的答案不是重复的。是的,我试过你提出的解决方案。但它不起作用。我尝试从控制台调用函数,但失败了,因为againIt与函数的声明方式无关(如重复问题)。应该重新打开此问题。问题是
颜色更改
仅存在于paperscript的范围内,在外部不可见。在您的情况下,它应该被全局定义为按钮点击的处理程序。@manji谢谢!我对堆栈溢出版主的反应感到失望。这让我很开心!
var myPath={};

var colorChange=function(id){  //function I defined doesn't work
    myPath=new Path();
    myPath.strokeColor=id;
}

function onMouseDown(event){   //this works
    myPath=new Path();
    myPath.add(event.point);
}