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