2

次のような配列オプションがあります。

var options = {
    chart: {
        type: 'bar',
        events: {
            click: function(event) {
                
            }
        }
    },
    xAxis: {
        categories: '',
        title: {
            text: null
        }
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Aantal keer gekozen',
            align: 'high'
        },
        labels: {
            overflow: 'justify'
        }
    },
    tooltip: {
        //valueSuffix: ' aantal keer gekozen'
    },
    plotOptions: {
        bar: {
            dataLabels: {
                enabled: true,
                color: 'black',
                formatter: function() {
                    if (this.y === 0) {
                        return null;
                    } else {
                        return this.y;
                    }
                }
            },
            stacking: 'normal'
        }
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top',
        x: -40,
        y: 100,
        floating: true,
        borderWidth: 1,
        backgroundColor: '#FFFFFF',
        shadow: true
    },
    credits: {
        enabled: false
    },
    exporting: {
        enabled: true
    },
    series: []
}

ご覧のとおり、クリック機能については何もしていません。

jQuery でハイforeachチャートを作成します (そのため、複数のチャートを作成します)。

options.chart.renderTo = 'container' + index;
chart = new Highcharts.Chart(options);

で行ったように、イベントクリックを追加するにはどうすればよいrenderToですか?

4

1 に答える 1

1

おそらく、javascript のクロージャーについて読む必要があります。それ以外の場合は、各チャートに同じイベントを追加します。

別の解決策は、チャートの ID の配列を作成してから使用することですoptions.chart.events.click = function() { window.location.href = '/path/' + ids[index]; }

于 2013-09-13T08:47:43.320 に答える