Ich benutze AmCharts und baue ein AmSerialChart. Hier möchte ich das "pan" -Ereignis auslösen. Ich möchte jedoch nur das finale Event auslösen, das heißt also, wenn der Pan beendet ist. Soweit ich das Handbuch lesen kann (https://docs.amcharts.com/3/javascriptcharts/ChartCursor) gibt es dafür kein explizites Ereignis. Aber vielleicht weiß jemand, wie man dieses Event baut oder nur das letzte "Panning" Event bekommt.Auslösen des Pan-End-Ereignisses nur mit AmCharts
0
A
Antwort
1
Es gibt kein dediziertes Ereignis dafür. Sie können die Funktionalität jedoch implementieren, indem Sie generische JavaScript-mouseup
/touchend
-Ereignisse verwenden, um zu erfassen, wenn der Schwenk endet. Ie .:
"listeners": [{
/**
* rendered event
* we'll use it to set up custom mouse events as well as
* pre-zoom the chart
*/
"event": "rendered",
"method": function(e) {
// add mouseup events
e.chart.chartDiv.addEventListener("mouseup", handleEnd);
e.chart.chartDiv.addEventListener("touchend", handleEnd);
// function that handles pan end (mouse button released or touch ends)
function handleEnd() {
// check if there was an previous zoom event
if (e.chart.lastZoomedEvent === undefined)
return;
// do what we need to do with it
// ...
console.log(e.chart.lastZoomedEvent);
// reset
e.chart.lastZoomedEvent = undefined;
}
// pre-zoom the chart
e.chart.zoomToIndexes(
e.chart.dataProvider.length - 40,
e.chart.dataProvider.length - 1);
}
}, {
/**
* zoomed event
* we'll use it to track pan/zoom
*/
"event": "zoomed",
"method": function(e) {
// log last zoomed event
e.chart.lastZoomedEvent = e;
}
}]
Hier ist ein working demo.