如何解决“无法读取属性'getContext'的null”

时间:2017-12-30 06:07:43

标签: jquery asp.net-mvc rgraph

我在asp rgraph中调用mvc画布时遇到了问题。这是我的代码,我添加了rgraphs所有必需的链接。而且jquery也是文件。并面临一个错误“Uncaught TypeError: Cannot read property getContext of null”

var key = RGraph.HTML.Key('containerPie', {
  colors: ['blue', 'green'],
  labels: response.labels,
  tableCss: {
    //position: 'absolute',
    top: '50%',
    right: '-80px',
    transform: 'translateY(-50%)'
  }
});

new RGraph.Pie({
  id: 'cvsPie',
  data: response.res,
  options: {
    strokestyle: '#e8e8e8',
    variant: 'pie3d',
    linewidth: 2,
    gutterLeft: 5,
    shadowOffsetx: 0,
    shadowOffsety: 7,
    shadowColor: '#ddd',
    shadowBlur: 15,
    radius: 40,
    tooltips: response.res,
    colors: ['blue', 'green']
  }
}).draw();

这是我的div代码:

<canvas id="cvsPie" width="450" height="300"></canvas>

1 个答案:

答案 0 :(得分:0)

它说canvas对象是null,所以没有getContext()方法。通常这取决于使用错误的ID - 你看起来没有 - 或者在画布存在之前运行代码。

第二个可能是您的问题 - 代码位于页面中的canvas标记之上,并且您没有使用DOMContentLoaded事件或window.onload事件。

因此,请尝试在canvas标记之后移动创建图表的代码,或者将代码放在onload事件中,如下所示:

<script>
    window.onload = function ()
    {
        // Your code goes here
    }
</script>