从自定义Highcharts绘图中删除标签

时间:2014-10-13 23:13:57

标签: javascript highcharts

我已经创建了一个自定义Highcharts drawing,如果用户将鼠标放在元素上,我现在可以在其中显示标签。但是,我想在mouseout上删除标签。

这是我到目前为止所做的:

$('#container').highcharts({
  chart: {
    backgroundColor: 'white',
    events: {
      load: function () {
        var ren = this.renderer;

        ren.rect(50, 50, 60, 50, 0)
          .attr({
            'stroke-width': 2
          })
          .on('mouseover', function() {
            ren.label('Foo')
            .attr({
              fill: Highcharts.getOptions().colors[0],
              padding: 10,
              r: 5,
              zIndex: 8
            })
            .css({
              color: '#fff'
            })
            .add();
          })
          .on('mouseout', function() {
            // need to remove the Foo label here
          })
          .add();
        }
      }
    }
  }
});

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

以这种方式创建元素时:

var myRect = renderer.rect(x, y, w, h, r);

然后您可以使用myRect变量访问您的rect。

现在您可以调用Element object:

中的所有方法
myRect.add();
myRect.on( ... );
myRect.destroy(); // remove element from DOM