2014-01-18 49 views
0

我想在我的圖表中添加一個文本鏈接來執行javascript函數。 但是,正如您在此fiddle中看到的,它看起來像文本渲染器只接受URL鏈接。 我注意到一個信用可以鏈接到一個JavaScript就好了,目前我正在使用這個解決方法。 這可能實現使用文本渲染器?將highcharts文本渲染器鏈接到javascript函數

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

回答

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

0

您可以使用馬克的建設或簡單:

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'); 
    });