2013-08-23 110 views
2

我设置了工具提示选项enabled = FALSEHighCharts。动态更改选项

我想在用户点击时将其更改为TRUE

我该怎么办?

series : [{ 
      data : data, 
      dataGrouping: { 
       enabled: false 
      }, 
      events: { 
       click: function(e) { 
        enabledTooltip(); 
       } 
      } 
     }], 
//.......................   
var enabledTooltip = function(){ 
// what I should write here? 
}; 
+0

ü可以把highcharts功能的完整的代码? – harsh4u

+0

它不是动态支持的 - 但重新创建图表的解决方案将起作用。 –

回答

8

这是相当容易的。

var enabledTooltip = function() { 
    var options = chart.options; 
    options.tooltip.enabled = true; 
    chart = new Highcharts.Chart(options); 
}; 

演示:http://jsfiddle.net/eNMvw/50/

-1

您可以检查下面的代码:

这是为我工作。

$(function() { 
    var chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container' 
     }, 

     plotOptions: { 
      series: { 
       events: { 
        click: function(e) { 
         enabledTooltip(); 
        } 
       } 
      } 
     }, 

     tooltip: { 
      crosshairs: [{ 
       dashStyle: "Solid" 
      }, false], 
      enabled: false 
     }, 

     series: [{ 
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]   
     }] 
    }); 



    var enabledTooltip = function(){ 
alert(567); 
     var options = chart.options; 
     options.tooltip.enabled = true; 
    chart = new Highcharts.Chart(options); 
}; 

}); 

希望这对你的作品

0
var enabledTooltip = function(){ 
    a.series[0]["dataGrouping"]["enabled"] = true; 
}; 
var a = {series : [{ 
      data : "data", 
      dataGrouping: { 
       enabled: false 
      }, 
      events: { 
       click: function(e) { 
        enabledTooltip(); 
       } 
      } 
     }]}; 

(function test(){ 
    console.log("before click: "+a.series[0]["dataGrouping"]["enabled"]);//before click: false 
    enabledTooltip(); 
    console.log("after click: "+a.series[0]["dataGrouping"]["enabled"]);//after click: true 
})();