可以将点击事件附加到表格,然后从
event
中提取行/列。因此 DOM 将只有一个侦听器。这种方法不太方便,因为我们需要解析 event
对象并将数据关联到行/列。
更方便的方法是将侦听器单独附加到每个单元格,并通过闭包将关联的数据传递给回调。如果表为 1000x1000,我们将附加 1'000'000 个事件。我想知道现代浏览器是否可以处理它......
可以将点击事件附加到表格,然后从
中提取行/列。event
是的,很容易:
const cell = event.target.closest("td")
const column = cell.cellIndex;
const row = cell.parentElement.rowIndex;