getContext不是一个函数。

11 浏览
0 Comments

getContext不是一个函数。

我正在制作一个基本的网页应用程序,使用canvas来动态改变窗口大小时的canvas大小。我已经成功地静态地实现了,没有任何问题,但当我创建一个对象使得它动态时,它会抛出一个错误。

在Chrome中的错误是:

Uncaught TypeError: Object [object Object] has no method 'getContext'

而在Firefox中是:

this.element.getContext不是一个函数

我在网上搜索了一下,似乎这是一个常见的问题,但是提到的修复方法都没有任何区别。

有问题的代码如下:

layer['background'] = new canvasLayer("body","background");
function canvasLayer(location,id){
    $(location).append("unsupported browser");
    this.element=$(id);
    this.context = this.element.getContext("2d"); //这是抛出错误的那一行
    this.width=$(window).width(); //改变canvas大小
    this.height=$(window).height();
    $(id).width($(window).width()); //将canvas标签的大小改变以保持适当的比例
    $(id).height($(window).height());
}

0