Highcharts はチャート ポイントのクリックを検出する機会を提供しますが、ダブルクリックやマウスダウン イベントなどの他のイベントを検出することは可能ですか?
前もって感謝します
Highcharts はチャート ポイントのクリックを検出する機会を提供しますが、ダブルクリックやマウスダウン イベントなどの他のイベントを検出することは可能ですか?
前もって感謝します
各コンポーネントは特定のイベントのみをサポートします。たとえば、Chart コンポーネントは、、、、、およびを検出しaddSeries
ます。このセットが拡張可能であるとは思えないため、 のような別のイベントをキャプチャすることはできません。click
load
redraw
selection
mousedown
ページのソースを調べて、HighCharts が生成する要素にリスナーをアタッチすることもできますが、これは文書化されていない回避策であり、将来のリリースで壊れる可能性があります。さらに、< IE9 をサポートする必要がある場合は、SVG と VML の両方で生成されたマークアップのハンドラーが必要になります。
いくつかのイベントでクリエイティブになることができます。クリック ハンドラーを使用してダブルクリックを検出する例を次に示します。
var clickDetected = false;
// create the chart
$('#container').highcharts({
chart: {
events: {
click: function(event) {
if(clickDetected) {
alert ('x: '+ event.xAxis[0].value +', y: '+ event.yAxis[0].value);
clickDetected = false;
} else {
clickDetected = true;
setTimeout(function() {
clickDetected = false;
}, 500);
}
}
}
},
...
それは可能ですが、別の方法で。ハイチャートでは、 element.onを使用して各要素にイベントを追加できます。例えば:
chart.series[0].data[0].graphic.on('dblclick', function() {
//callback here
});
そしてシンプルな jsFiddleです。良いことは、すべての要素に追加でき、すべてのブラウザーで確実に動作することです。