2017-02-22 100 views
2

我发现了一个不同寻常的错误:在这条线填充样式不是一个函数

ctx_wrap.fillStyle is not a function

在这里
ctx_wrap.fillStyle('#b8b8b8'); 

... 
this.paint = function() { 
    self.path(ctx_wrap); 
    if (!isOver) { 
     ctx_wrap.fillStyle('#b8b8b8'); 
    } else { 
     ctx_wrap.fillStyle('#d6d6d6'); 
    } 
    ctx_wrap.fill() 
    ctx_wrap.stroke(); 
}; 
... 

奇怪的是,如果我注释掉了这条线,下面是作品。这两条线几乎相同,但第一个产生的错误,第二个作品:

ctx_wrap.fillStyle('#b8b8b8'); 
ctx_wrap.fillStyle('#d6d6d6'); 

为什么会在第一行产生错误?

+0

如何获取ctx_wrap对象?通过使用HTMLCanvasElement.getContext(“2d”)或特殊方法绘制? – defghi1977

回答

4

尝试使用ctx_wrap.fillStyle = "#COLOR"

第二个不起作用,控制台停在第一个控制台上,吐出错误,因为它从代码行中吓坏了。

+0

谢谢!这适用于第一个:ctx_wrap.fillStyle =“#b8b8b8”;但实际上,这仍然适用于第二个:ctx_wrap.fillStyle('#d6d6d6'); - 没有错误,并画布图形绘制。所以,当你的解决方案有效时,我仍然不确定为什么一个人工作,另一个人不工作(???)无论如何,很高兴它的工作。谢谢! –

+0

我很高兴它为你工作,很奇怪,第二个不起作用。我真的很感谢检查这个答案是正确的,它帮助我,并告诉大家,情况已解决:) –