这是我的问题。
我正在创建一个对话框(jQuery.dialog),里面有这个网格(https://github.com/mleibman/SlickGrid)。
加载数据后,我需要将焦点放在网格上,以便用户可以使用键盘查看数据结果,而无需在网格内单击以选择它。
但是函数grid.getCanvasNode().focus()
导致对话框的所有内容向上滚动一点,但没有必要,因为画布已经可见。
我认为问题的根源是这个画布是一个非常大的div,它包含我的结果集(2000px)的所有行,但只有部分行显示在屏幕上。
有什么方法可以阻止这种情况吗?
非常感谢!
答案 0 :(得分:0)
尝试使用goToCell()
grid.gotoCell(row, cell, forceEdit)
接受行整数和单元格整数,将视图滚动到行是其行索引的行,单元格是其单元格索引。 (可选)接受forceEdit布尔值,如果为true,将尝试启动指定单元格中字段的编辑对话框。
例如:
grid.gotoCell(0, 0, false) // Will focus on first cell of first row