单击高图轴上的事件



我希望能够将事件绑定到高图中的坐标轴上,这样我就可以在UI中为它们提供一些选项(轴间隔,文本格式,网格线等)

似乎不能在highcharts中做到这一点。到目前为止,我可以让它做我的投标,当我点击标签,但不是当我点击标签之间的空格。版本2.2.4请参见此处:http://jsfiddle.net/gW4p6/174/

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        marginRight: 80 // like left
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    yAxis: [{
          lineWidth: 1,
          title: {
              text: 'Secondary Axis'
          }
    }],
    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 clearSelection = function() { $('.highcharts-axis').css('stroke', ''); };
$('.highcharts-axis').click(function(event) {
    clearSelection();
    $(this).css('stroke', 'green');
    return false;
});
$(document).click(clearSelection);
$('svg').click(clearSelection);

是否有任何方法可以可靠地捕获g.highcharts-axis元素上的单击事件?

对于额外的分数,什么是最好的方式来连接轴与它的轴。选项里有什么?我能想到的最好的办法是依赖于轴是按照它们提供的顺序呈现的事实,所以我可以只循环。

$('.highcharts-axis text').click(function(){ alert($(this).text());  }); 

警告轴的文本。这样就可以将click事件绑定到axis中的每个元素。

可以使用click事件。看看这个API:http://api.highcharts.com/highcharts series.data.events.click

从事件处理程序中,您可以获得带有"this.name"的字符串。或者使用"this.options.somevariable"来获取某种标识符

"somevariable"表示您在系列数据中创建的任何变量名称。例如,在我的例子中,我将标识符简单地命名为"id":

{
   name: "My label",
   id: 6,
   events: { 
      click: function()
      {
         alert(
            'The name is ' + this.name +
            ' and the identifier is ' + this.options.id
         );
      }
   }
}

最新更新