Raphael js无法通过引用div来创建画布

时间:2013-02-23 23:21:33

标签: javascript canvas raphael

我一直试图让这个工作几天。最后我通过输入参数手动创建了画布,但现在我实际上需要将它连接到div。

问题是,当尝试基于div创建画布时,我总是从Raphael JS得到同样的错误:

TypeError: b is undefined

这是一个快速的jsFiddle,但是你会在Firebug中看到相同的结果(虽然它显示了一个不同的库名,但是它会导致它变形)

http://jsfiddle.net/GXXuD/3/

请帮忙!它让我疯狂。

1 个答案:

答案 0 :(得分:3)

我发现这样做的唯一方法与文档无关,我只是不得不破解它。如果有其他人遇到让Rapheal js将画布/纸张分配给div的问题,这种方法可以正常工作。

<强> JS

var new_width = $('#map img').width();
var new_height = $('#map img').height();

$('#map').css({'height':new_height, 'width':new_width});
var paper = new Raphael("canvas", new_width, new_height);

<强> HTML

<div id='map'>
    <div id="canvas"></div>
    <img src="path/to/image"/>
</div>