0

在 Highcharts 条形图上,当用户单击其中一个条形图时,附加数据会通过该loadDetails函数加载到页面的其他位置。

loadDetails通过以下方式指定为图表的点击回调函数plotOptions.series.events

var chart = new Highcharts.Chart({
    defaultSeriesType: 'bar',
    ...
    plotOptions: {
        series: {
            events: {
                click: loadDetails
            }
        }
    },
    ...

});

function loadDetails() {
    ...
}

问题是我需要为touchstart移动设备上的事件调用相同的回调函数。

据我所知,似乎没有任何明显的方法可以通过 Highcharts API 添加触摸事件处理程序:http: //api.highcharts.com/highcharts#plotOptions.series.events

有没有人知道如何为触摸事件添加回调函数,或从触摸事件触发点击回调函数?

4

2 回答 2

1

是的,不支持这样的事情,我建议你在这里创造想法。

我想到的唯一解决方法是使用Element.on函数将自定义事件添加到图表上存在的元素。例如:http: //jsfiddle.net/3bQne/269/

    chart: {
        renderTo: 'container',
        events: {
            load: function(){
                var chart = this,
                    path = chart.series[0].tracker;

                path.on('click', function() {
                   alert("click");; 
                });
            }
        }
    }
于 2013-06-28T13:06:21.763 回答
0

这行得通。我试图让 Highcharts 与 Apple Pencil 一起工作。我使用了上面的代码,但包括了markerGroup(以及跟踪器),因此当用户单击点以及一系列线条时会触发事件。我使用“touchstart”事件来捕获苹果铅笔点击。见下文。

chart: {
        renderTo: 'container',
        events: {
            load: function(){
                var chart = this,
                    path = chart.series[0].tracker;
                    path2 = chart.series[0].markerGroup;
            path.on('touchstart', function() {
               alert(“touch");
            });
            path2.on('touchstart'), function() {
               alert(“touch 2”);
            });
        }
    }
}
于 2018-08-26T02:53:34.493 回答