javascript – getContext is not a function

javascript – getContext is not a function

Your value:

this.element = $(id);

is a jQuery object, not a pure Canvas element.

To turn it back so you can call getContext(), call this.element.get(0), or better yet store the real element and not the jQuery object:

function canvasLayer(location, id) {

    this.width = $(window).width();
    this.height = $(window).height();
    this.element = document.createElement(canvas);

       .attr(id, id)
       .text(unsupported browser)
       .attr(width, this.width)       // for pixels
       .attr(height, this.height)
       .width(this.width)               // for CSS scaling

    this.context = this.element.getContext(2d);

See running code at, ideally using the Chrome Javascript Console so you can see the resulting object in the debug output.

I got the same error because I had accidentally used <div> instead of <canvas> as the element on which I attempt to call getContext.

javascript – getContext is not a function

Alternatively you can use:


Leave a Reply

Your email address will not be published.