Highcharts: почему точечные события здесь не работают? - PullRequest
0 голосов
/ 20 марта 2019

Я хочу использовать серию старших графиков события точки , например, для оповещения пользователя о значениях точки.Так или иначе, ни одно из событий API , похоже, не работает для меня.

Мой график plotOptions выглядит как

plotOptions: {
    series: {
        point: {
            events: {
                click: function () {
                    console.log('click event works');
                } 
            }
        }
    }
}

Но когда я нажимаю на любую точку вНа графике ничего в консоли не происходит.Я пробовал это также с другими точечными событиями в хай-чартах, но ни одно из них не сработало.Я что-то здесь упускаю?

Вот официальная демонстрация, где я могу просто добавить событие (мой код выше), и здесь оно как-то работает: demo

1 Ответ

1 голос
/ 20 марта 2019

Ваша область неверна, plotOptions.point.events не существует.

Вам необходимо определить plotOptions.series.point.events. Я только что проверил это на вашем примере JSFiddle, и это сработало.

plotOptions: {
  scatter: {
    width: 10,
    height: 10,
    depth: 10
  },
  series: { // <-- ▼▼▼ Here ▼▼▼
    point: { 
      events: {
        click: function() {
          console.log('click event works');
        }
      }
    } 
  } // <-- ▲▲▲ Here ▲▲▲
}

В API есть панель поиска, которая проверит это для вас:

https://api.highcharts.com/highcharts/

Пример

/**
 *  Based on: https://www.highcharts.com/demo/line-basic
 */
Highcharts.chart('container', {
  title: {
    text: 'Solar Employment Growth by Sector, 2010-2016'
  },
  subtitle: {
    text: 'Source: thesolarfoundation.com'
  },
  yAxis: {
    title: {
      text: 'Number of Employees'
    }
  },
  legend: {
    layout: 'vertical',
    align: 'right',
    verticalAlign: 'middle'
  },
  plotOptions: {
    series: {
      label: {
        connectorAllowed: false
      },
      pointStart: 2010,
      point: { // <-- ▼▼▼ Here ▼▼▼
        events: {
          click: function() {
            console.log('click event works');
          }
        }
      } // <-- ▲▲▲ Here ▲▲▲
    }
  },
  series: [{
    name: 'Installation',
    data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
  }, {
    name: 'Manufacturing',
    data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
  }, {
    name: 'Sales & Distribution',
    data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
  }, {
    name: 'Project Development',
    data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
  }, {
    name: 'Other',
    data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
  }],
  responsive: {
    rules: [{
      condition: {
        maxWidth: 500
      },
      chartOptions: {
        legend: {
          layout: 'horizontal',
          align: 'center',
          verticalAlign: 'bottom'
        }
      }
    }]
  }
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>

<div id="container"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...