Highcharts提供了检测图表点数点击的机会,但是有可能 检测其他事件,例如双击或mousedown事件?
提前致谢
答案 0 :(得分:4)
每个组件仅支持某些事件,例如,图表组件将检测addSeries
,click
,load
,redraw
和selection
。我不相信这个集合是可扩展的,所以你无法捕获像mousedown
这样的不同事件。
您可以尝试检查页面的来源并将侦听器附加到HighCharts生成的元素,但这将是一个未记录的解决方案,并且在将来的版本中可能会中断。此外,如果你必须支持< IE9你需要SVG和VML生成标记的处理程序。
您可以通过某些活动获得创意。以下是使用单击处理程序检测双击的示例:
<强> Working Demo 强>
var clickDetected = false;
// create the chart
$('#container').highcharts({
chart: {
events: {
click: function(event) {
if(clickDetected) {
alert ('x: '+ event.xAxis[0].value +', y: '+ event.yAxis[0].value);
clickDetected = false;
} else {
clickDetected = true;
setTimeout(function() {
clickDetected = false;
}, 500);
}
}
}
},
...
答案 1 :(得分:1)
这是可能的,但是以不同的方式。在Highcharts中,您可以使用element.on向每个元素添加事件。例如:
chart.series[0].data[0].graphic.on('dblclick', function() {
//callback here
});
而且simple jsFiddle适合你。好的是你可以添加到所有元素,并确保在所有浏览器中工作。