Highcharts test tool
by Torstein Hønsi
HTML
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="main">
<a href="javascript:;" tabindex="1">Hit [tab] repeatedly to highlight data</a>
<div id="container"></div>
</div>
CSS
#main {
min-width: 300px;
max-width: 800px;
margin: 1em auto;
padding: 1em;
}
#container {
height: 300px;
}
JavaScript
$('#container').highcharts({
chart: {
type: 'column'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
colorByPoint: true,
point: {
events: {
click: function () {
console.log(this.category, this.y);
}
}
}
}]
});
var selected = {
chart: 0,
series: 0,
point: -1
};
function tabHandler(e) {
selected.point += 1;
if (!Highcharts.charts[selected.chart].series[selected.series].points[selected.point]) {
selected.point = 0;
selected.series += 1;
}
if (!Highcharts.charts[selected.chart].series[selected.series]) {
selected.series = 0;
}
if (!Highcharts.charts[selected.chart]) {
selected.chart = 0;
}
Highcharts.charts[selected.chart].series[selected.series].points[selected.point].select();
return false;
}
function spaceHandler(e) {
var point = Highcharts.charts[selected.chart].getSelectedPoints()[0];
if (point) {
point.firePointEvent('click');
return false;
}
}
$(document).keydown(function(e) {
if (e.keyCode === 9) {
return tabHandler(e);
}
if (e.keyCode === 32) {
return spaceHandler(e);
}
});