Как вручную вызвать событие afterSetExtremes из события щелчка серии в HighCharts - PullRequest
0 голосов
/ 04 апреля 2019

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

Мое желание состоит в том, чтобы иметь возможность доступа к подпоркам диаграммы для события afterSetExtreme, однако этот объект отличается в зависимости от того, где вызывается событие.

шаблон здесь: https://jsfiddle.net/d450e1az/5/

Highcharts.chart('container', {   chart: {
        type: 'area',
        borderColor: '#000000',
        zoomType: 'x',
        animation: false
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        events: {
           afterSetExtremes:    function(event) {
           console.log(this);
          }
        }
    },

    plotOptions: {
        series: {
            cursor: 'pointer',
            events: {
                click: function (event) {
                    alert(this.index);
                   console.log(this); this.chart.xAxis[0].hcEvents.afterSetExtremes[0](event)
                }
            }
        }
    },

    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]
    }, {data: [21.9, 70.5, 109.4, 121.2, 124.0, 166.0, 115.6, 128.5, 210.4, 190.1, 92.6, 52.4]}] });

1 Ответ

0 голосов
/ 04 апреля 2019

Вы можете достичь этого, используя метод Highcharts.fireEvent() при нажатии на точку. Проверьте демо и код, размещенный ниже.

Однако, событие afterSetExtremes было разработано для вызова после изменения экстремальных значений. В этом случае крайности зафиксированы, поэтому, возможно, вам следует использовать другой подход для достижения ожидаемого результата.

Код:

  plotOptions: {
    series: {
      cursor: 'pointer',
      events: {
        click: function(event) {
          Highcharts.fireEvent(this.xAxis, 'afterSetExtremes');
        }
      }
    }
  }

Демо-версия:

Справочник по API:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...