Javascript 单击按钮时如何启用或禁用Highcharts工具提示?

Javascript 单击按钮时如何启用或禁用Highcharts工具提示?,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,这就是我尝试过的: $("#toollip").click(function(){ if(chart.container.tooltip.enabled ){ chart.container.tooltip.enabled = false; }else{ chart.container.tooltip.enabled = true; } }); 试试这个(只是一个你如何实现它的演示): 工具提示:{ 启用:对, 格式化程序:函数(){

这就是我尝试过的:

$("#toollip").click(function(){
    if(chart.container.tooltip.enabled ){
        chart.container.tooltip.enabled = false;
    }else{
        chart.container.tooltip.enabled  = true;
    }
});
试试这个(只是一个你如何实现它的演示):

工具提示:{
启用:对,
格式化程序:函数(){
如果(状态){
返回“+this.x+”
“+this.point.series.name+”:“+this.y; }否则{ 返回“”; } } }
我浏览了很多论坛,没有找到一种显示/隐藏工具提示的简单方法,比如Tooltip.enable=true/false。我想到的一个好方法是在图表初始化时通过格式化程序设置工具提示设置

var barsShowen-是一个全局变量,具有必要的状态-true/false-是否显示工具提示

tooltip: {
  shared: true,
  useHTML: true,
  formatter: function () {
    if (barsShowen) {
      var s = '<span><b>' + this.x + '</b></span><table>';
      $.each(this.points, function () {
        s += '<tr><td align = "left" style = "color:' + this.series.color + ';">' + this.series.name + ': ' + '</td>' +
          '<td><b>' + this.y + '</b></td></tr>';
      });
      return s + '</table>';
    } else {
      return false;
    }
  }
工具提示:{
分享:是的,
是的,
格式化程序:函数(){
如果(barsShowen){
var s=''+此.x+'';
$.each(this.points,function(){
s+=''+this.series.name+':'+''+
''+this.y+'';
});
返回s+“”;
}否则{
返回false;
}
}
您可以使用工具提示样式属性编写
图表.update()

隐藏工具提示的步骤

chart.update({
    tooltip: {
        style: {
            display: "none",
        }
    }
});
显示工具提示的步骤

  chart.update({
              tooltip: {
                  style: {
                      display: "block",
                  }
              }
   });
查清这个


根据Praveen的回答,您还可以使用
chart.update()


停止使用基本CSS和HighChart.update方法显示:

chart.update({
    tooltip: {
        style: {
            display: "none",
        }
    }
});
这样,图表的工具提示将不会出现,直到您应用CSS使其显示。此外,我认为您的示例代码应该可以工作,但您可能有一个输入错误:

$("#toollip").click(function(){
也许应该

$("#tooltip").click(function(){
希望有帮助!

如果您写的是“系列”点工具提示,您将需要以下选项:

enableMouseTracking: false,
代码:

$(function () { 
    var Chart = Highcharts.chart('Chart', {
        chart: {
            type: 'line',
        },
        title: {
            text: Chart,
        },
        xAxis: {
            categories: ['1', '2', '3'],
        },
        yAxis: {

        },
        series: [{
            name: 'Line',
            data: [10, 20, 30,],
            enableMouseTracking: false,
        },],
    });
});
这是

还可以使用以下选项从直线中删除所有标记点:

marker: {
    enabled: false,
},

您可以找到标记的其他选项。

请注意,
jQuery
是我的最佳猜测。假设
图表,您发布的代码应该可以工作。容器
引用
新的Highcharts。图表(…)
工具提示
是预期的元素,代码正确包装在
$(文档)中。就绪(…)
和jQuery都包含在内。请注意,留下来回复评论是一种很好的做法,这样您就可以提供我们需要的任何信息来回答您的问题。因此,请发布更多的代码:您在哪里分配
图表
图表.container
,一些HTML…为了排除后两种情况,我需要整个页面谢谢。是否有一种方法可以从外部或加载后控制所有图表的选项?它不起作用。工具提示仍然显示,但没有文本。这很有效!这是这个问题的正确答案。我发现这是切换(显示/隐藏)的最简单方法Highcharts中的工具提示。它也适用于我。感谢Highcharts API文档提供的更多信息:
$(function () { 
    var Chart = Highcharts.chart('Chart', {
        chart: {
            type: 'line',
        },
        title: {
            text: Chart,
        },
        xAxis: {
            categories: ['1', '2', '3'],
        },
        yAxis: {

        },
        series: [{
            name: 'Line',
            data: [10, 20, 30,],
            enableMouseTracking: false,
        },],
    });
});
marker: {
    enabled: false,
},