[英]Highcharts: how to handle touch events via plotOptions.series.events
在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 。
有誰知道如何為觸摸事件添加回調函數,或從觸摸事件觸發點擊回調函數?
是的,不支持這樣的操作,我建議您在此處創建想法。
我想到的唯一解決方法是使用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");;
});
}
}
}
這可行。 我試圖讓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”);
});
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.