从网格中的div类获取comp-id

时间:2018-07-27 02:32:24

标签: javascript reactjs addeventlistener ag-grid

鉴于AG网格,我需要能够在按Tab键时从当前关注的单元格中获得comp-id号。我目前在div类上有一个事件侦听器,但它给出了一个错误cell.addEventListener is not a function

我正在尝试通过以下方式获取comp-id

const cell = document.getElementsByClassName('ag-cell');
cell.addEventListener("keydown", function(e) {
    if (e.key === "Tab") {
      console.log("ID", comp-id);
    }
});

链接到Plunkr:Link

更新:

我可以通过从div中获取属性来获取comp-id值:

if(e.key === "Tab"){
  let lastCell = cell.attributes[2].value;
}

尽管我注意到在第176个单元格之后它似乎没有得到值,即使数据网格中还有更多值。

1 个答案:

答案 0 :(得分:0)

getElementsByClassName返回类型为HTMLCollection的序列。

表示返回多个单元格。
因此,您需要为每个项目添加一个事件侦听器(即使集合中只有1个项目)。

⚠️请注意,map是属于数组的方法,因此您需要首先将HTMLCollection的实例转换为数组(使用扩展语法或Array.from)< / em>

const cells = document.getElementsByClassName('ag-cell');
[...cells].map(cell => (
  cell.addEventListener("keydown", function(e) {
      if (e.key === "Tab") {
        console.log("ID", comp-id);
      }
  })
)