Grid 如何为给定行和列索引的Dojo网格单元获取实际的DOM节点?

Grid 如何为给定行和列索引的Dojo网格单元获取实际的DOM节点?,grid,dojo,dojox.grid,Grid,Dojo,Dojox.grid,我使用的是Dojo EnhancedGrid,只有当在同一行上编辑另一个单元格,并且我单击一个新单元格时,才会出现此问题: 在这种情况下的onRowClick(e)和onCellClick(e)事件中,为单元格传入的DOM节点似乎不是网格中单元格的“真实”DOM节点——它似乎是某种克隆。我知道这是因为: e、 getBoundingClientRect()返回所有0(不正确) 通过dojo.query(…)通过反复试验手动获取DOM节点给了我一个 节点的node.getBoundingRect(

我使用的是Dojo EnhancedGrid,只有当在同一行上编辑另一个单元格,并且我单击一个新单元格时,才会出现此问题:

在这种情况下的onRowClick(e)和onCellClick(e)事件中,为单元格传入的DOM节点似乎不是网格中单元格的“真实”DOM节点——它似乎是某种克隆。我知道这是因为:

  • e、 getBoundingClientRect()返回所有0(不正确)

  • 通过dojo.query(…)通过反复试验手动获取DOM节点给了我一个 节点的node.getBoundingRect()调用返回正确的屏幕 长方形

  • 因此,我需要获得“正确”的DOM节点,这样我就可以在其上放置工具提示对话框,而不会因为错误的getBoundingClientRect()结果而将其放置在屏幕的左上角。这并不容易,因为cell-DOM元素的列索引具有idx=XXX属性,但cell和row-DOM元素似乎都没有rowIndex。因此,我无法找到一种方法来验证我从Dojo.query()获得的特定单元格DOM节点是否是我想要的rowIndex/colIndex的实际单元格


    有人有解决办法吗?基本上,在这种情况下,在给定rowIndex和colIndex的情况下,如何在grid.onCellClick()中获取真正的DOM节点?同样,由于网格中存在错误,e.cellNode在这种情况下无法工作。

    这就是我正在使用的,如果您确定何时调用此事件,则会更新您的
    domNodes

    var rowNode = dojo.query(e.target).closest(".dojoxGridRow")[0];