2017-03-05 10 views
-1

私はHighstock 5.0.7を使用しています。私のグラフオプションはDBに格納されています。グラフをプロットするために私はそれをフェッチしています。積み上げ縦棒グラフをクリックすると、いくつかのAjax関数を呼び出す必要があります。積み上げ縦棒グラフは正しく表示されますが、スタックをクリックすると、e.callが関数ではないというJSエラーが発生するという問題があります。以下はJSエラーです。 JavaScriptはplotOption-の下に書かれているHighcharts - イベントクリック時のjavascript関数はエラーを返しますe.callは関数ではありません

highstock.js:29 Uncaught TypeError: e.call is not a function 
a.fireEvent @ highstock.js:29 
E.firePointEvent @ highstock.js:271 
a.Pointer.onContainerClick @ highstock.js:209 
    l.onclick @  highstock.js:210 

チャートオプション>シリーズ - > points-> [イベント] - > [以下

"chart": { 
    "type": "column" 
}, 
"credits" : { 
    "enabled" : false 
}, 
"title" : { 
    "text" : "chartName" 
},   
"xAxis": { 
    "categories": [] 
}, 
"yAxis": { 
    "min": 0, 
    "stackLabels": { 
     "enabled": true, 
     "style": { 
      "fontWeight": "bold", 
      "color": "gray" 

     } 
    } 
}, 
"legend": { 
    "enabled":true 
}, 
"tooltip": { 
    "headerFormat": "<b>{point.x}</b><br/>", 
    "pointFormat": "{series.name}: {point.y}<br/>Total: {point.stackTotal}" 
}, 
"plotOptions": { 
    "column": { 
     "stacking": "normal", 
     "dataLabels": { 
      "enabled": true, 
      "color": "white", 
      "style": { 
       "textShadow": "0 0 3px black" 
      } 
     } 
    }, 
    "series": { 
     "cursor": "pointer", 
     "point": { 
      "events": { 
       "click": "function() {alert(y.value);}" 
      } 
     } 
    } 
}, 
"series": [] 
}  

iは

<script src="./resources/js/highstock/highstock.js"></script> 
     <script src="./resources/js/highstock/highcharts-more.js"></script> 
     <script src="./resources/js/highstock/highcharts-3d.js"></script> 
     <script src="./resources/js/highstock/modules/solid-gauge.js"></script> 
     <script src="./resources/js/highstock/modules/exporting.js"></script> 
     <script src="./resources/js/highstock/modules/offline-exporting.js"></script> 
     <script src="./resources/js/highstock/modules/drilldown.js"></script> 
を使用していたスクリプトタグですクリックしてください
+1

clickイベントで呼び出される関数の代わりに文字列があります。 – morganfree

答えて

0
series: { 
     cursor: 'pointer', 
     point: { 
      events: { 
       click: function() { 
       console.log("this : ",this) 
       console.log('this.y',this.y) 
        alert(this.y); 
       } 
      } 
     } 
    } 
+0

あなたはconsole.log.asでそれをデバッグすることができます深い3015ジングルは正常に動作しています – Gourav

0

クリックイベントは、

series: { 
     cursor: 'pointer', 
     point: { 
      events: { 
       click: function() { 
        alert(this.y); /*not y.value*/ 
       } 
      } 
     } 
    } 
と定義されています。あなたがそれをしない場合 - あなたは[evalを](https://www.w3schools.com/jsref/jsref_eval.asp)あなたのクリックイベント関数に必要な10

fiddleデモ

Highcharts Reference

+0

"this.y"に変更しましたが、highstock.jsという似たエラーが出ています:29 Uncaught TypeError:e.callが関数ではありません – ZEE

+0

@ZEEあなたのフィドルを追加できますか?私のフィドルは働いています –