2 réponses

Meilleure réponse

Vous devez ajouter les propriétés className et init, exemple:

stockTools: {
  gui: {
    enabled: true,
    buttons: ['customAnnotation'],
    definitions: {
      customAnnotation: {
        className: 'highcharts-custom-annotation',
        symbol: 'text.svg'
      },
    }
  }
},
navigation: {
  bindings: {
    customAnnotation: {
      className: 'highcharts-custom-annotation',
      init: function(e) {
        alert("test alert 2");
      }
    }
  }
}

Démo en direct: https://jsfiddle.net/BlackLabel/3s25vq8m/

Référence API: https://api.highcharts.com/highstock/ navigation.bindings

1
ppotaczek 6 nov. 2020 à 09:06

J'ai résolu cela en ajoutant l'événement sur le chargement du graphique:

chart: {
  events: {
    load: function() {
        document.querySelectorAll('.highcharts-custom-annotation')[0]
        .addEventListener(
          'click',
          alertMethod
      )
    }
  },
},

Le code complet se trouve ici.

0
delux 5 nov. 2020 à 15:06