我试图通过点击它来检索char x轴上的标签文本。我正在使用条形图,代码如下:
var chart = new Highcharts.Chart({
chart: {
type: 'column',
backgroundColor: '#eaedf1',
zoomType: 'x',
renderTo: 'container'
},
plotOptions: {
series: {
cursor: 'pointer',
pointWidth: 10,
point: {
events: {
click: function (event) {
console.log(event.point.name + " " + this.y);
}
}
}
}
},
title: {
text: 'Total Flow Types'
},
xAxis: {
type: 'category',
labels: {
rotation: -90
}
},
yAxis: {
min: 0,
title: {
text: 'millions'
}
},
legend: {
enabled: false
},
series: [{
name: 'Flow Types'
}]
});
然后通过单击按钮,使用ajax填充图表,工作正常。通过检查图表的dom,我看到每个标签都是文本/文本。它们是g / element的一部分,具有类highcharts-axis-labels highcharts-xaxis-labels。所以我尝试使用jquery检索值,如:
$('body').on('click', 'g.highcharts-axis-labels.highcharts-xaxis-labels text', function () {
console.log($(this).text());
});
或只是
$('body').on('click', 'text', function () {
console.log($(this).text());
});
这一切都是document.ready函数的一部分。不幸的是,这些都没有检索到x轴标签的文本吗?
答案 0 :(得分:6)
而不是:
$('body').on('click', 'g.highcharts-axis-labels.highcharts-xaxis-labels text', function () {
console.log($(this).text());
});
使用此:
$('.highcharts-xaxis-labels text').on('click', function () {
console.log($(this).text());
});
您不应将班级highcharts-axis-labels
和highcharts-xaxis-labels
与dot
联系起来。而且highcharts-xaxis-labels
类足以添加事件。这是小提琴:http://jsfiddle.net/8sxLr5j8/
答案 1 :(得分:1)
您可以使用extension来执行此操作。