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

时间:2012-11-26 12:06:06

标签: javascript jquery highcharts

这是我尝试过的:

$("#toollip").click(function(){
    if(chart.container.tooltip.enabled ){
        chart.container.tooltip.enabled = false;
    }else{
        chart.container.tooltip.enabled  = true;
    }
});

6 个答案:

答案 0 :(得分:6)

我浏览了很多论坛,在任何地方我都找不到像tooltip.enable = true / false这样显示/隐藏工具提示的简单方法。我遇到的好方法是在图表初始化中通过Formatter设置工具提示设置。

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

答案 1 :(得分:3)

您可以使用工具提示样式属性_motionManager = [[CMMotionManager alloc] init]; _motionManager.deviceMotionUpdateInterval = 1.0/60; [_motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXArbitraryZVertical];

隐藏工具提示

chart.update()

显示工具提示

chart.update({
    tooltip: {
        style: {
            display: "none",
        }
    }
});

谢谢这个

https://jsfiddle.net/parveennp/1kbo8100/5/

答案 2 :(得分:2)

试试这个(只是一个演示如何实现它):

tooltip: {
    enabled: true,
    formatter: function() {
        if (status) {
            return '<b>' + this.x + '</b><br/>' + this.point.series.name + ': ' + this.y;

        } else {
            return '';
        }
    }
}

答案 3 :(得分:2)

根据Praveen N的回答,您还可以使用chart.update()启用或禁用工具提示

chart.update({
    tooltip: {
        enabled: true
    }
});

答案 4 :(得分:1)

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

chart.update({
    tooltip: {
        style: {
            display: "none",
        }
    }
});

这样,在您应用CSS以显示之前,图表的工具提示才会显示。此外,我认为你的示例代码应该可以工作,但你可能有一个拼写错误:

$("#toollip").click(function(){

也许应该是

$("#tooltip").click(function(){

希望它有所帮助!

答案 5 :(得分:0)

如果你写的是“系列”点工具提示,你将需要这个选项:

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,
        },],
    });
});

这是official JSFiddle sample

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

marker: {
    enabled: false,
},

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