javascript - 如何修复 Highcharts 错误 #13?

标签 javascript html highcharts highstock handlebars.js

我使用 highchart 所以,用户可以关闭并打开图表页面并重新绘制图表,在某些情况下会给我这个错误,我该如何解决,谢谢 这是我的代码

 function populateGraph(graph1data1,graph1data2,id,time,bottomText,tickinterval){
$(function () {
  $('#'+id).highcharts({
      chart: {
          type: 'line'
      },
      xAxis: {
        tickWidth: 0,
        categories: ['1,2,3,4']
      },
      yAxis: {
        gridLineColor: '#fff',
          title: {
              text: ''
          },
          labels: {
              formatter: function() {
                  return '';
              }
          }              
      },
      navigation: {
        buttonOptions: {
            enabled: false
        }
    },
      series: [{
          name: 'This ',
          data: [1,2,3,4],
          color: '#1e71ef'     
      }, {
          name: 'Last ',
          data: [5,6,7,8],
          color:'#dfe0e1'
      }]
  });
});
}
}




       function loadOnlineDashboardChannel(channel){
          $.ajax({
          type: "get",
          dataType: 'html',
          data: {},
          url: "/companies/2/online_dashboard_channel",
          success: function(data, status){ 
          var obj = JSON.parse(data);
          var template_data = { 
            measures_list:   
              obj.measures         
          };
          $(function() { 
        var tmplHTML_measures = '{{#measures_list}} <div class="col-lg-11  col-lg-offset-1"><p class="indicator-title gray-bottom-border">{{name}}</br></p><div><p><span class="font30px">{{total}} </span> Total {{name}}<br><span class="green-text">{{increase}}%</span> from last <span class="metric_time"></span></p></div><div class="graph-header"><h3>{{this_interval}} </h3><p>New {{name}}</p><p class="percentage-graph green-text">{{percentag e}}%<p></div><div id={{graph_id}} class="graph"></div> </div>{{/measures_list}}';   
          Handlebars.render = function(tmpl, data){data = data || {};return                                                       Handlebars.compile(tmpl)(data);};  
      $("#template").empty().append(Handlebars.render(tmplHTML_measures,template_data) );
      var data_graph;
      for ( var i = 0; i < obj.measures.length; i++ ) {
        data_graph=obj.measures[i];
                      populateGraph(data_graph.this_interval_detail,data_graph.last_interval_detail,data_graph.graph_id,time,obj.bottom_graph_text,parseInt($('#timeframe-select').find(":selected").attr('interval')) );
      }              
     })


  },
  error: function(error) {

}
});

return this;
};

我在这部分使用 Handlebars 在 变种 tmplHTML_measures 我创建了 div,在 for 中我调用了绘制图表的函数。

谢谢,我重复一遍,有时它工作得很好,有时失败给我错误 #13

最佳答案

我遇到了同样的错误,我了解到当 HighCharts.js 试图访问 DOM 中不存在的元素时会发生错误#13。

我是如何解决的? 我确保仅在 DOM 中创建目标元素后才调用 HightCharts 方法。答对了!!!!一切正常。

关于javascript - 如何修复 Highcharts 错误 #13?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536233/

相关文章:

javascript - 从外部文件加载 div 内容

javascript - Highcharts:Y 轴标签格式化程序

javascript - 将 Highcharts 添加到传单弹出窗口

javascript - javascript 混淆函数中的++i 与 i++

javascript - V8 c++ - 无法反序列化 V8 快照 blob

javascript - 使用 filterBy() 应用过滤器时从 ExtJs 存储中清除过滤器的最快方法

javascript - 如何在 highchart 部分中调用 getJSON

javascript - 加快 iFrame 加载速度以避免验证错误

html - dt 标签在 IE 7 中相互 float

javascript - 如何通过html5音频元素从php播放音频文件