我正在使用Dojo EnhancedGrid,这个问题只发生在同一行上编辑另一个单元格并且我点击一个新单元格时:
在这种情况下的onRowClick(e)和onCellClick(e)事件中,为该单元格传入的DOM节点似乎不是网格中单元格的“真实”DOM节点 - 它似乎是某种类型克隆。我知道这是因为:
所以,我需要获得“正确的”DOM节点,这样我就可以在它上面放置一个工具提示对话框,而不会因为getBoundingClientRect()结果不正确而放在屏幕的左上角。这并不容易,因为单元DOM元素的列索引具有idx = XXX属性,但单元格和行DOM元素似乎都没有rowIndex。所以,我无法找到一种方法来验证我从Dojo.query()得到的特定单元DOM节点是我想要的rowIndex / colIndex的实际单元格。
有没有人有解决方法?基本上如何在grid.onCellClick()中获取真正的DOM节点在这种情况下给出一个rowIndex和colIndex?同样,由于网格中的错误,e.cellNode在这种情况下不起作用。
这就是我正在使用的,如果您确定何时调用此事件,您的domNodes
会更新:
var rowNode = dojo.query(e.target).closest(".dojoxGridRow")[0];