jQuery动态画布创建,$ ctx.getContext不是一个函数

时间:2010-07-13 17:23:09

标签: jquery html5 canvas

当我尝试在jQuery中执行此操作时,我在firebug中获得$ctx.getContext is not a function

var $ctx = $( '<canvas />', {width:'100', height:'100'} )
$widget.append($ctx)                                     
$ctx.getContext('2d')                                    

知道我为什么会收到这个错误吗?如何动态创建和初始化canvas元素?

3 个答案:

答案 0 :(得分:65)

$ctx是一个jQuery对象。使用$ctx[0].getContext('2d')获取上下文

答案 1 :(得分:1)

如果使用excanvas,则需要使用以下内容,以便在IE中使用。

var canvas = $ctx[0];

if (canvas.getContext == undefined) {
    return G_vmlCanvasManager.initElement(canvas).getContext("2d"); 
}

return canvas.getContext('2d')

答案 2 :(得分:-6)

首先,您需要检查以下行是否存在以及HTML文档的顶部。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN">

此行作为浏览器呈现政策的执行条件。