8

我在图表上有一个点击事件,但如果您使用缩放并想重置缩放,点击事件也会被触发。

我有以下图表设置:

$('#container').highcharts({
        chart: {
            type: 'line',
            marginRight: 130,
            marginBottom: 25,
            zoomType: 'x',
            events: {
                click: function (event) {
                    alert('chart click!');
                }
            }
        }...

见工作示例:http: //jsfiddle.net/2Y3ah/

好吧,这看起来像一个错误,或者如果它是按照设计的那样,如果单击重置缩放按钮,如何阻止单击事件。

4

3 回答 3

5

一个肮脏的方法可以是查看 srcElement

例如测试以下内容(检查 firstChild 是否为 null ...)

event.srcElement.firstChild.data === "Reset zoom"
于 2013-04-03T14:47:31.903 回答
1

这是最终的解决方案。只需将以下配置设置为图表:

    $('#container').highcharts({
        chart: {
            resetZoomButton: {
                relativeTo: 'chart'
            }
        }
    });
于 2013-12-06T12:17:35.387 回答
1

您可以通过 event.target http://jsfiddle.net/2Y3ah/3/识别是否单击了按钮

 if(!($(event.target)[0].textContent))
                        alert('chart click!');

http://api.jquery.com/event.target/

于 2013-04-04T13:12:02.927 回答