Highcharts 单击事件侦听时的高图表

Highcharts 单击事件侦听时的高图表,highcharts,Highcharts,我正在从包含div的数据id传入的json_编码数组中创建high chart对象 $('div.filter_pie_chart').each(function( index ) { $(this).highcharts($(this).data("params")); }); 我想用下面的符号听一下饼图的点击事件。这可能吗 $(document).on('click','.high_chart_point_object', function (event) {

我正在从包含div的数据id传入的json_编码数组中创建high chart对象

$('div.filter_pie_chart').each(function( index ) {
    $(this).highcharts($(this).data("params"));
    });
我想用下面的符号听一下饼图的点击事件。这可能吗

$(document).on('click','.high_chart_point_object', function (event) {
       return false;
});
我想这就是你需要的

这是一本书

我认为这些行也应该起作用(未经测试,但与您的符号类似):

如果要动态更改选项,以下是解决方案:

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

这是另一个。

是的,这有三种可能:

  • 一种是使用
    plotoptions.pie.point.events.click
    ant调用您需要的函数
  • 另一种方法是在挖掘DOM元素后,从Highcharts中调用
    元素.on()
    函数-这与使用
    $().on()
  • 如果您确实需要该
    $().on()
    ,您可以使用is on
    point.element
    ,示例:
第三种情况的代码:

    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)); 
                }  
            }
        }
    }
图表:{
活动:{
加载:函数(){
var图表=此,
饼图=图表系列[0],
pieData=pie.data,
dLen=pieData.length;
对于(变量i=0;i
我想在创建High Charts对象后添加事件处理程序。你的例子同时传递了所有的信息,你得到了你的解决方案但下次要多解释一下你想要什么。如果你的信息不好,我们无法帮助你。我真的不明白为什么要在创建图表之后添加事件处理程序??我的应用程序允许用户在创建后扩展功能。因此,我创建了裸骨骼图,然后让他们能够输入css或jquery来增强该图。您的解决方案没有使用jquery来更改选项。我真的不明白您想要什么。我想你在我的帖子里有你需要的一切,所以再见!;)
var options = mychart.options;
options.chart.events.click = function () {alert('do what you want')};
mychart = new Highcharts.Chart(options);
    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)); 
                }  
            }
        }
    }