2017-02-06 9 views
4

ハイチャートでは、バーをクリックするイベントがあります。しかしバーは高さが小さく、クリックすることは不可能です。それゆえ、私はさらなる処理のためにイベントをハイチャートで欲しがっています。ハイチャートでラベルをクリックするイベントを追加する方法

など。次の例では、月の名前のイベントが必要です。 enter image description here

ありがとうございます。

答えて

2

あなたはjQueryのを使用しない場合http://jsfiddle.net/t07ok5v3/5/

+0

のthnx大きなヒントとヘルプを。この方法についてどうやって知りましたか?ハイチャートの要素を調べて試しましたか?なぜなら、このラベルに関する関連ドキュメントを見つけることができず、APIドキュメントからイベント設定を確認するからです。 –

+0

再度有効にしました。 –

+0

はい、彼らが将来のリリースでそれを壊さないことを願っています。 –

0

chart.xAxis[0].labelGroup.element.childNodes.forEach(function(label) 
{ 
    label.style.cursor = "pointer"; 
    label.onclick = function(){ 
     alert('You clicked on '+this.textContent); 
    } 
}); 

完全なコードは次のようにあなたはそれを使用することができ、私はエラーを取得する:オブジェクトは、ときに、プロパティやメソッド「のforEach」をサポートしていません。 Internet ExplorerのMalay Sarkarからソリューションを実行します。 ChromeとIEの両方で動作する回避策を次に示します。

for (let i = 0; chart.xAxis[0].labelGroup.element.childNodes.length; i++) 
{ 
    chart.xAxis[0].labelGroup.element.childNodes[i].onclick = function(){ 
     alert('You clicked on '+this.textContent); 
    } 
}); 
0

ハイチャートv3はCustom Eventsプラグインを使用しているため、代わりの解決方法があります。プラグインは、ハイチャートではサポートされていない、新しいイベントをたくさん追加します。

デモ:https://jsfiddle.net/BlackLabel/Utx8g/963/

イベントHighchartsで公式行事と同じように追加され、我々はすべてのリリースにDOMを再検査する必要はありません。

xAxis: { 
    labels: { 
    events: { 
     click: function() { ... } 
    } 
    } 
} 
関連する問題