将highcharts文本渲染器链接到javascript函数

时间:2014-01-18 12:30:13

标签: highcharts

我想在我的图表中添加一个将执行javascript函数的文本链接。 但是,正如您在此fiddle中看到的那样,文本渲染器似乎只接受URL链接。 我注意到一个信用可以链接到一个javascript就好了,目前我正在使用它作为一种解决方法。 这可以使用文本渲染器来实现吗?

chart.renderer.text('<a href="javascript:alert(1)">Text renderer javascript link</a>', 120, 60)

2 个答案:

答案 0 :(得分:0)

renderer.text方法创建svg元素,仅支持HTML标记的子集。此外,在href中添加javascript处理程序相当过时。因此,使用jquery的click binding提供处理程序。

function(chart) { // on complete
    var elem = chart.renderer.text('Text renderer javascript link', 120, 60)
        .css({
            color: '#4572A7',
            fontSize: '16px',
            cursor: 'pointer' // make it look clickable
        }); // save the element
    elem.add(); // add it 
    $(elem.element).click(function(){
       alert('hi'); 
    }); //bind a handler 
});

更新了fiddle

答案 1 :(得分:0)

您可以使用Mark的构造或更简单:

chart.renderer.text('Text renderer javascript link', 120, 60)
    .css({
        color: '#4572A7',
        fontSize: '16px',
        cursor: 'pointer' // make it look clickable
    }).add().on('click',function(){
          alert('aaa');
    });