鉴于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个单元格之后它似乎没有得到值,即使数据网格中还有更多值。
答案 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);
}
})
)