Excanvas用于动态创建的画布元素

use*_*318 6 javascript canvas excanvas

Excanvas"for enternet Explorer"适用于预定义的canvas元素.但是当在脚本中动态创建canvas元素时,它将无法工作......

有任何想法吗??

Mat*_*ley 13

文档:

如果已动态创建canvas元素,则不会将getContext方法添加到元素中.要使其正常工作,您需要在G_vmlCanvasManager对象上调用initElement.

var el = document.createElement('canvas');
G_vmlCanvasManager.initElement(el);
var ctx = el.getContext('2d');
Run Code Online (Sandbox Code Playgroud)


Jef*_*amb 8

我在调用initElement之前将它附加到文档中,它适用于ie8,chrome和ff.我花了一段时间来搞清楚.

var foo = document.getElementById("targetElementID");
var canvas = document.createElement('canvas');
canvas.setAttribute("width", 620);
canvas.setAttribute("height", 310);
canvas.setAttribute("class", "mapping");
foo.appendChild(canvas);
canvas = G_vmlCanvasManager.initElement(canvas);
Run Code Online (Sandbox Code Playgroud)