0

我正在使用 PlotLines 处理 Highcharts。我想在 PlotLine 的标签内添加一个链接来做某事(例如删除或更新)。

    $(function () {
        $(document).ready(function() {

            var chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container',
                    type: 'column'
                },
                title: {
                    text: 'Add Link in PlotLines'
                },
                xAxis: {
                    categories: ['Africa', 'America', 'Asia'],
                },
                yAxis: {
                    plotLines:[{
                        value:450,
                        color: '#ff0000',
                        width:2,
                        zIndex:4,
                        id:'PlotLine1',
                        label:{text:'PlotLine 1 ' + '<a href="#" onClick="delete(PlotLine1);">Delete</a>'}               
                    },
                     {
                        value:200,
                        color: '#000055',
                        width:2,
                        id:'PlotLine2', 
                        zIndex:4,
                        label:{text:'PlotLine 2 ' + '<a href="#" onClick="delete(PlotLine2);">Delete</a>'}                
                    }]                
                },
                series: [{
                    name: 'Year 1800',
                    data: [107, 31, 50]
                },
                        {
                    name: 'Goal',
                            type: 'scatter',
                            marker: {
                        enabled: false
                    },
                    data: [450]
                }]
            });
        });


});

如果您看到 PlotLines 生成的源代码,您会看到如下内容:

<tspan onclick="location.href="#"" style="cursor: pointer;" dx="3">
      Delete
</tspan>

我不知道是否有任何方法可以在标签中添加链接或按钮。来源在http://jsfiddle.net/nDjdc/21/

提前致谢,

4

1 回答 1

3

Highcharts 在渲染时似乎没有携带该onClick属性,但它确实携带了,href所以你可以这样做:

<a href="javascript: deleteMe('PlotLine1');">Delete</a>

我从你的那里创造了一个工作小提琴。请看一下:http: //jsfiddle.net/amyamy86/V82pQ/

唯一需要注意的是它只能访问全局对象,所以我希望你适当地命名你的应用程序:)

Fyidelete不是变量的好名称,因为它是一个保留字。请参阅https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Reserved_Words

于 2013-03-08T18:59:24.963 回答