AmCharts.ready is not ready when loaded asynchronously

Initially, I put all AmChart configurations in AmCharts.ready, everything works fine.

<script src="amcharts/amcharts.js" type="text/javascript"></script>
<script src="amcharts/serial.js" type="text/javascript"></script>
<script>
    AmCharts.ready(function() {
      console.log("this works");
      /* Other configs */
    })
</script>

Somehow it stops working when I enter RequireJS, as indicated in amCharts requiresJS answers . Whatever code inside the AmChart.ready callback is executed. (Oddly enough, it was executed once during debugging)

+4
source share
3 answers

, AmChart.ready onReadyArray, window.load/onload. , AmChart window.onload, AmChart.ready . :

<script>
    configChart = function() {
      /* Create charts stuff */
    };
    if (AmCharts.isReady) {
      configChart();
    } else {
      AmCharts.ready(configChart);
    }
</script>
+14

( 3.14.1 ), handleLoad :

AmCharts.handleLoad();

.

+5

, "AmCharts.isReady = true"; AmCharts. :

var chartData1 = [];
function generateChartData() {
   ...
}

function createStockChart() {
   ...
}

if ($('.amChartDivExists').length > 0) {
    AmCharts.isReady = true;
    generateChartData();
    createStockChart();
}
+1

All Articles