开发者

Raphael JS - paper.remove

Just getting started with Raphael.

Now I'm finding that paper.remove() is generating a script error:

 "SCRIPT5009: 'removed' is undefined 

Is this a script bug?

My variable paper is initialized thus:

var paper = new Raphael(document.getElementById('canvas_container'), 500, 500);

My HTML body has:

<div id="canvas_container"></div>  

This is more info -- I am using Raphael 2.0 which I just downloaded again. Running IE9. Following is the Raphael JS function that is highlighted as the problem:

R.prototype.remove = function () {

        eve("remove", this);
        this.canvas.parentNode &开发者_如何学Goamp;& this.canvas.parentNode.removeChild(this.canvas);
        for (var i in this) {
            this[i] = removed(i);
        }
    };

the line ... removed(i) is highlighted --> SCRIPT5009: 'removed' is undefined

BTW I am new to this forum. Is there a way to respond to a thread other than "Answer Your Question"?


I've run across this a couple of times. The line 4443 method as suggested by sudoko-san does work in browsers but not backwards compatible with IE-7 & 8 (the whole point of using raphael).

Another work around is to implement the following code in your javascript:

try{
    paper.remove();
}
catch (error) {
    // this catches the error and allows you to proceed along nicely
}

That's it!


I don't know if you've supplied enough information to answer this question.

  • What version of Raphael are you using?
  • On what browser?
  • Is it being loaded up correctly - can you create any Raphael objects?

If all you're doing is deleting the paper, see the fiddle below.

JSFiddle

It seems to work fine for me with Raphael 1.5.2

Hope that helps (even slightly).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜