jQuery.focus()进行不必要的滚动

时间:2012-03-02 20:50:24

标签: jquery focus scroll slickgrid

这是我的问题。

我正在创建一个对话框(jQuery.dialog),里面有这个网格(https://github.com/mleibman/SlickGrid)。

加载数据后,我需要将焦点放在网格上,以便用户可以使用键盘查看数据结果,而无需在网格内单击以选择它。

但是函数grid.getCanvasNode().focus()导致对话框的所有内容向上滚动一点,但没有必要,因为画布已经可见。

我认为问题的根源是这个画布是一个非常大的div,它包含我的结果集(2000px)的所有行,但只有部分行显示在屏幕上。

有什么方法可以阻止这种情况吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试使用goToCell()

grid.gotoCell(row, cell, forceEdit)

接受行整数和单元格整数,将视图滚动到行是其行索引的行,单元格是其单元格索引。 (可选)接受forceEdit布尔值,如果为true,将尝试启动指定单元格中字段的编辑对话框。

例如:

grid.gotoCell(0, 0, false) // Will focus on first cell of first row