如何在highchart contextmenu中获取clicked元素的id

时间:2018-02-19 17:37:29

标签: javascript jquery highcharts

有没有办法在高图上下文菜单中获取点击按钮的ID或者两次触发点击功能的方式?

  contextButtonArray = [];
  contextButtonArray.push({
      {
        text: 'TEST BUTTON',
        onclick: function) {
        console.log("HELLO");


      }
      contextButton: {
        // 800px by default, PNG by default
        menuItems: contextButtonArray
      }

1 个答案:

答案 0 :(得分:1)

您可以打包每个上下文菜单按钮的onclick事件:

(function(H) {
  var menuItems = H.defaultOptions.exporting.menuItemDefinitions;
  for (var prop in menuItems) {

    var item = menuItems[prop];
    if (!item.separator) {

      H.wrap(item, 'onclick', function(proceed, event) {
        console.log(event.target.innerText + ' button clicked!');
        proceed.call(this);
      });

    }
  };
})(Highcharts);

现场演示: http://jsfiddle.net/BlackLabel/j46w9sLr/

proceed是最初在按钮点击时触发的函数。您只需添加另一条proceed.call(this);行即可多次调用它。 event参数可用于检索有关单击哪个按钮的信息。

关于包装的文档: https://www.highcharts.com/docs/extending-highcharts/extending-highcharts