Подтвердить что ты не робот

JQuery динамическое создание холста, $ctx.getContext не является функцией

Когда я пытаюсь выполнить это в jQuery, я получаю $ctx.getContext is not a function в firebug.

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

Любая идея, почему я получаю эту ошибку? Как динамически создавать и инициализировать элемент холста?

4b9b3361

Ответ 1

$ctx - объект jQuery. используйте $ctx[0].getContext('2d'), чтобы получить контекст

Ответ 2

Если вы используете excanvas, вам нужно будет использовать следующее, чтобы оно работало в IE.

var canvas = $ctx[0];

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

return canvas.getContext('2d')

Ответ 3

Прежде всего, вам нужно проверить, существует ли следующая строка и верхняя часть документа HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Strict//EN">

эта строка в качестве условия вывешенности политики браузера.