将画布附加到IE8中的div

时间:2014-02-13 01:57:49

标签: jquery internet-explorer-8 html5-canvas excanvas

我的问题是我试图在容器div中附加一个canvas元素 我已经尝试过这段代码并且无法正常工作。当我尝试将浏览器切换到IE8时,它不会在.MainChart元素中附加canvas元素:

$('.MainChart').append('<canvas width="500" height="500">');

我也试过这段代码,但似乎它也没有用:它附加了,但似乎元素不起作用。在2D中绘制按ID获取元素以及宽度和高度属性也不起作用:

$('.MainChart').html('<canvas width="500" height="500"></canvas>');

你能就这件事给我一些建议吗?

我正在使用Excanvas.js 2.0来支持IE中的canvas元素。

1 个答案:

答案 0 :(得分:1)

使用exCanvas动态创建canvas元素时,必须手动初始化它。第一次脚本可以迭代现有元素时加载页面,但是对于稍后添加的动态创建元素,您需要手动执行此操作。

尝试在创建画布之后和尝试获取其上下文之前,将这些行添加到代码中:

var canvas = $('<canvas width="500" height="500"></canvas>');
$('.MainChart').append(canvas);

/// initialize
if (typeof G_vmlCanvasManager !== 'undefined')
    G_vmlCanvasManager.initElement(canvas[0]);

/// now this should work
var ctx = canvas[0].getContext('2d');

希望这有帮助!