Как я могу вызвать функцию java-скрипта, нажав на x Axis label на Highchart?

0

я буду благодарен всем вам, если вы скажете мне, как вызвать функцию java script, щелкнув ярлык xAxis на Highchart. ниже здесь есть мой код. заранее спасибо.

var options = {
chart: {
    renderTo: 'container',
    type: 'bar',
    backgroundColor: 'rgba(100, 100, 100, 0.2)',
    width: 1500,
    height: 800,
    ...
  },
  title: {
    ....
  },
  credits: {
    enabled: false
  },
  legend: {
    enabled: false
},

xAxis: {
 ....
},

yAxis:{
  ...
  },

labels: {
  style: {
      color: 'black',
      fontWeight: 'bold'
    }
  }      
},

plotOptions: {
    series: {
        stacking: 'normal'
    }
}, 

tooltip: {
....
},    

series: [] 

};

Вот как я называю свой

  $(document).ready(function() {
     var chart = new Highcharts.Chart(options);
  });

PS: Я нашел этот способ вызова функции, нажав на метки, но в моем случае это не работает

$(function () {
    $('#container').highcharts({

chart: {
    renderTo: 'container',
    type: 'bar',        
  },
  legend: {
    enabled: false
},

xAxis: {
    categories: ['chr1','chr2','chr3','chr4'],

        labels: {
            formatter: function() {
                return '<a href="http://www.w3schools.com">'+
                    this.value +'</a>';

            }
        }        
},                       
        series: [{
            name: 'Tokyo',
            data: [7.0, 6.9, 9.5, 14.5]
        }]
    },function(chart){

        $.each(chart.xAxis[0].ticks,function(i,tick){
            tick.label.on('click',function(){
               alert(tick.pos);
            });
        });

    });
});

Jsfiddle

Теги:
highcharts

1 ответ

0

Это строка, в которой вы создаете метки:

return '<a href="http://www.w3schools.com">'+
                this.value +'</a>';

Поэтому вы можете просто изменить это:

return '<a href="#" onclick="myFun()">'+
                this.value +'</a>';

И должен работать.

  • 1
    спасибо, но это не сработало, в любом случае я решил свою проблему :)
  • 1
    Интересно, что для меня это работает нормально: jsfiddle.net/aPg8H/6 - вы установили флаг useHTML в true?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню