score:1

i think this documentation link is what you need.

here is a jsfiddle.

$(function () {
    // create the chart
    var mychart = $('#container').highcharts({
        chart: {
            events: {
                click: function(event) {
                    alert ('x: '+ event.xaxis[0].value +', y: '+
                          event.yaxis[0].value);
                }
            }        
        },
        xaxis: {
        },

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

and i think these lines should work too (not tested, but it is similar to your notation) :

$('.high_chart_point_object').highcharts({
  chart: {
    events: {
      click: function(event) {
        return false;
      }
    }        
  }
});

if you want to change options dynamically, here is the solution :

var options = mychart.options;
options.chart.events.click = function () {alert('do what you want')};
mychart = new highcharts.chart(options);

here is another jsfiddle.

score:1

yes, this should possible in three ways:

  • one is to use plotopttions.pie.point.events.click ant there call function you need to. reference.
  • another one is to element.on() function from highcharts after digging for dom elements - it's the same as using $().on(), reference.
  • if you really need that $().on(), you can use is on point.element, sample for you: http://jsfiddle.net/uwzae/

and code for third case:

    chart: {
        events: {
            load: function() {
                var chart = this,
                    pie = chart.series[0],
                    piedata = pie.data,
                    dlen = piedata.length;

                for(var i = 0; i < dlen; i++){
                    var slice = piedata[i];

                    console.log(slice, $(slice.graphic)); 
                }  
            }
        }
    }

Related Query

More Query from same tag