我在图表上有一个点击事件,但是如果您使用缩放并想要重置缩放,点击事件也会被触发。
我有以下的图表设置:
$('#container').highcharts({
chart: {
type: 'line',
marginRight: 130,
marginBottom: 25,
zoomType: 'x',
events: {
click: function (event) {
alert('chart click!');
}
}
}...
参见工作示例:http://jsfiddle.net/2Y3ah/
这看起来像是一个bug或者如果它被设计为如何阻止点击事件如果重置缩放按钮被点击
比较脏的方法是查看srcElement
例如,测试以下内容(检查firstChild是否为null…)
event.srcElement.firstChild.data === "Reset zoom"
您可以通过event.target识别按钮是否被单击http://jsfiddle.net/2Y3ah/3/
if(!($(event.target)[0].textContent))
alert('chart click!');
http://api.jquery.com/event.target/这是最终的解决方案。只需在图表中设置以下配置:
$('#container').highcharts({
chart: {
resetZoomButton: {
relativeTo: 'chart'
}
}
});