访问HTMLCollection

时间:2018-06-04 15:22:54

标签: highcharts htmlcollection pure-js

所以我试图访问所有特定的类名,然后最终为它们添加一个事件监听器。我是这样做的,因为我正在构建一个hightcharts图,并且无法专门为图例项添加点击事件。所以在构建图形之后,我试图访问按钮然后添加事件监听器。

  getButtons() {    
    let buttons = document.getElementsByClassName('legend-btn');
    console.log(buttons);
    console.log(buttons[0]);
  },

第一个console.log带有一个长度为48的HTMLCollection(我知道很长但是现在它的测试目的比任何东西都多)。
第二个console.log以未定义的形式返回。有什么想法吗?我希望能做到这样的事情:

    for (let i = 0; i < buttons.length; i++) {
      buttons[i].addEventListener('click', function () {
        changebackground(event);
      });
    }

关于如何为新构建的highcharts图添加click事件的任何建议?

1 个答案:

答案 0 :(得分:0)

我建议您尝试:

for (let button of buttons) {
  button.addEventListener('click', changebackground);
}

我不确定您打算拨打changebackground(event)的原因:为了做到这一点,您必须将event放入事件监听器的括号中。更好地直接传递changebackground(假设它确实将事件作为参数)。

我不太确定我告诉你的事情:如果不了解更多情况,很难说清楚。