Passing chart reference outside of onload - CanvasJS JavaScript Charts

Passing chart reference outside of onload - CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
<button id="titleButton">Change Title</button>

JavaScript

function changeTitle(obj) {
  obj.options.title.text = "Title Changed";
  obj.render();
}

window.onload = function() {
  var chart = new CanvasJS.Chart("chartContainer", {
    title: {
      text: "Chart Title"
    },
    data: [              
      {
        type: "column",
        dataPoints: [
          { label: "apple",  y: 10  },
          { label: "orange", y: 15  },
          { label: "banana", y: 25  },
          { label: "mango",  y: 30  },
          { label: "grape",  y: 28  }
        ]
      }
    ]
  });
  chart.render();

  function titleButtonHandler() {	
    changeTitle(chart);
  }
  var titleButton = document.getElementById("titleButton");
  titleButton.addEventListener("click", titleButtonHandler);
}