0

我的问题是我试图在容器 div 中附加一个画布元素我已经尝试过这段代码但它不起作用。当我尝试将浏览器切换到 IE8 时,它不会在元素中附加 canvas.MainChart元素:

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

我也尝试了这段代码,但它似乎也不起作用:它附加了,但似乎元素不起作用。通过 ID 获取元素的 2D 绘图以及 width 和 height 属性也不起作用:

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

你能给我一些建议吗?

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

4

1 回答 1

1

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

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

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');

希望这可以帮助!

于 2014-02-17T01:20:26.170 回答