我正在尝试基于JavaScript的2D网格构建游戏。
在嵌套的for循环中,我像这样设置单元格的data属性:
cell.setAttribute('data-pos',[i,j]);
在我的事件处理程序中,我得到这样的数据:
let pos = event.target.getAttribute('data-pos');
[当我尝试访问pos
的元素时,发生了奇怪的事情。
对于data-pos
为[1, 3]
的单元格,
使用console.log:
时得到以下值>
pos[0] = 1 pos[1] = , pos[2] = 3
以某种方式将逗号视为数组元素。
这是为什么,如何将i
和j
的值正确传递给事件处理程序?
我正在尝试基于JavaScript的2D网格构建游戏。在嵌套的for循环中,我设置像这样的单元格的data属性:cell.setAttribute('data-pos',[i,j]);在我的事件处理程序中,我得到...
正如@ggorlen在注释中指出的,cell.setAttribute('data-pos',[i,j])
行将值'1,3'
分配给data-pos
属性(因为它的值不能是数组)。