Javascript Raphael.js,清理画布有问题

Javascript Raphael.js,清理画布有问题,javascript,raphael,javascript-framework,Javascript,Raphael,Javascript Framework,myraphael.js: draw.js: index.html: <body> <div id="my-canvas"></div> <input type="button" id="btn"></input> <script src="raphael-min.js"></script> <script src="myraphael.js"></script

myraphael.js:

draw.js:

index.html:

<body>
    <div id="my-canvas"></div>
    <input type="button" id="btn"></input>

    <script src="raphael-min.js"></script>
    <script src="myraphael.js"></script>
    <script src="draw.js"></script>
</body>
每次单击按钮时,我都希望先清除上一次绘制,然后再次绘制矩形

我在canvas.rect10、10、50、50之前实现了clear部分;在myraphael.js中。但当鼠标多次点击按钮时,我从firebug得到错误:

raphael-min.js是从raphael官方页面下载的raphael库


我不理解这个错误,也不知道如何消除它…

cavas!=纸张这是一个命名问题

var width = 200;
var height = 200;

var raphael_test = (function() {

  var canvas = Raphael("my-canvas", width, height);  

  return {
     startToDraw: function() {
       canvas.clear(); 
       canvas.rect(10, 10, 50, 50);
     }
  };
})();
顺便说一句:请确保所有dom对象都已正确加载,并且js由..包装

$(document).ready(function() {
 ...
});
canvas.clear是正确的,但它只能在myraphael.js中访问。因此,为其添加一个明确的功能:

var raphael_test=function(){
  var canvas = Raphael("my-canvas", width, height);  

  return {
     clear: function () {
        canvas.clear();
     },
     startToDraw: function () {
        canvas.rect(10, 10, 50, 50);
     }
  };
}();

嗨,这不是命名问题,只是我的打字错误。我的代码使用画布。问题是即使我没有输入错误也存在。您是否检查过id为my canvas的dom对象是否可用?您可以编写console.log$my canvas;在raphael_test.Mellon的第一行中,我让您的代码毫无问题地运行。希望helps@Mellon,确实需要查看更新的代码。这里还有一个逗号:。代码和错误消息现在在我的帖子中更新了。第一次单击按钮时没有错误,多次单击按钮时会发生错误。
$(document).ready(function() {
 ...
});
var raphael_test=function(){
  var canvas = Raphael("my-canvas", width, height);  

  return {
     clear: function () {
        canvas.clear();
     },
     startToDraw: function () {
        canvas.rect(10, 10, 50, 50);
     }
  };
}();