How can I fix Highcharts error #13?
handlebars.js, highcharts, html, javascript
Solution
I faced the same error and what I got to know is that Error#13 occurs when HighCharts.js tries to access an element which is not present in the DOM.
How I fixed it? I made sure that the HightCharts method is called only after my targeted element is created in the DOM. Bingo!!!! Everything worked fine.
Problem
I use highchart so, the user can close and open the chart page and redraw the chart, in some case give me this error, how can I fix it, Thanks Here is my code ``` 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; }; ``` I use handlebar so in this part in var tmplHTML_measures I create the div, in the for I call the function to draw the chart. Thanks, I repeat sometimes it works perfectly and sometimes fail give me the error #13