如何通过单击“高亮度”图表中的列/栏来打开新窗口/选项卡?

时间:2016-03-29 15:35:18

标签: javascript highcharts hyperlink window target

我希望有人可以帮助我创建一个Highcharts Graph,当点击列/栏时,会打开一个新窗口。非常类似于HTML的等价物:

<a target="_blank">test</a>

我设法在没有创建新窗口的情况下这样做了,我希望有人可以告诉我需要调整什么以满足新窗口弹出窗口的需要?

我在jsfiddle

有一个例子

这基本上是以下代码:

&#13;
&#13;
$(function () {

    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        title: {
            text: 'Title'
        },
        credits: {
            enabled: false
        },
        xAxis: {
            categories: ["category_1", "category_2", "category_3", "category_4"],
            crosshair: true
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Count'
            }
        },
        tooltip: {
            headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
            pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                    '<td style="padding:0"><b>{point.y:.1f}</b></td></tr>',
            footerFormat: '</table>',
            shared: true,
            useHTML: true
        },
        legend: {
            labelFormatter: function () {
                var total = 0;
                for (var i = this.yData.length; i--; ) {
                    total += this.yData[i];
                }
                ;
                return 'Total: ' + total;
            },
            align: 'right',
            verticalAlign: 'top',
            x: -40,
            y: 60,
            floating: true
        },
        plotOptions: {column: {pointPadding: 0.2, borderWidth: 0, dataLabels: {enabled: true}}, },
        series: [{
            name: 'Live Trial Lead Sources',
            data: [{"y":111,"url":"http:\/\/www.google.ie"},{"y":44,"url":"http:\/\/www.google.ie"},{"y":22,"url":"http:\/\/www.google.ie"},{"y":10,"url":"http:\/\/www.google.ie"}],
            cursor: 'pointer',
            point: {
                events: {
                    click: function () {
                        location.href = this.options.url;
                    }
                }
            }
        }]
    });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
&#13;
&#13;
&#13;

我认为这可能是下面的错误:

[{"y":111,"url":"http:\/\/www.google.ie","target"=>"_blank"} ...

提前致谢。

1 个答案:

答案 0 :(得分:4)

series.point.events.click中,您可以切换语句:

location.href = this.options.url;

使用(update JSFiddle):

window.open(this.options.url, '_blank');

然后将在新窗口中打开URL。