Reputation: 791
I would like to be able to make Canvas elements from the constructor so that I could make a function like this.
function createCanvasContext(height,width)
{
var body = document.getElementsById('body')[0];
var canvas = new Canvas();
canvas.height=height;
canvas.width = width;
var context = canvas.getContext('2d');
body.appendChild(canvas);
return context;
}
I get an error at the line var canvas = new Canvas() saying that 'Canvas is undefined' does HTML5 not allow creating elements from the constructor? or are there parameters that I need to pass to the constructor. Any ideas would be great.
Upvotes: 63
Views: 68793
Reputation: 63812
While you can do new Image()
just fine, new Canvas()
isn't a thing! Canvas
Isn't even a thing, though HTMLCanvasElement
is. Nonetheless you cannot use its constructor.
document.createElement('canvas');
is what you want. You have to use that, just like with div
s.
Upvotes: 109
Reputation: 856
var mycanvas = document.createElement("canvas");
mycanvas.id = "mycanvas";
document.body.appendChild(mycanvas);
Upvotes: 67