Câu trả lời của @elo là đúng và được ủng hộ , mặc dù tôi phải chỉnh sửa lại một chút để làm rõ ràng hơn:
const myChartEl = document.getElementById('the-id-name');
const myChart = Highcharts.charts[myChartEl.getAttribute('data-highcharts-chart')];
myChart
sau đó trở thành một đối tượng Highcharts trực tiếp hiển thị tất cả các đạo cụ hiện tại có trong biểu đồ được hiển thị trong myChartEl
. Vì myChart
là một đối tượng Highcharts , người ta có thể chuỗi các phương thức nguyên mẫu ngay sau nó, mở rộng nó hoặc tham chiếu đến nó.
myChart.getTable();
myChart.downloadXLS();
setTimeout(() => Highcharts.fireEvent(myChart, "redraw"), 10);
Người ta cũng có thể myChart
vượt qua .highcharts()
, đó là một jQuery
plugin:
var myChart = $("#the-id-name").highcharts();
Phương pháp tiếp cận jQuery
plugin ở trên yêu cầu jQuery
phải được tải trước khi sử dụng plugin và tất nhiên là chính plugin đó. Chính sự vắng mặt của plugin này đã khiến tôi phải tìm cách thay thế để hoàn thành điều tương tự với JavaScript vani thuần túy.
Bằng cách sử dụng phương pháp JS thuần túy, tôi đã có thể làm những gì tôi cần (đoạn mã thứ hai) mà không cần phải dựa vàojQuery
: