jQuery.focus () делает ненужную прокрутку - PullRequest
3 голосов
/ 03 марта 2012

Это моя проблема.

Я создаю диалоговое окно (jQuery.dialog) и внутри него есть эта сетка (https://github.com/mleibman/SlickGrid).

После загрузки данных мне нужно сделать акцент на сетке, чтобы пользователь мог использовать клавиатуру для просмотра результата данных, не щелкая внутри сетки, чтобы выбрать его.

Но функция grid.getCanvasNode().focus() заставляет немного прокрутить все содержимое диалога, но в этом нет необходимости, поскольку холст уже виден.

Я думаю, что источником проблемы является тот факт, что этот холст представляет собой очень большой div, который содержит все строки моего набора результатов (2000px), но только часть его отображается на экране.

Есть ли способ предотвратить это?

Большое спасибо!

1 Ответ

0 голосов
/ 16 сентября 2013

Попробуйте использовать goToCell()

grid.gotoCell(row, cell, forceEdit)

Принимает целое число строки и целое число ячейки, прокручивая представление к строке, где строка - это ее индекс строки, а ячейка - это ее индекс ячейки. Необязательно принимает логическое значение forceEdit, которое, если оно истинно, будет пытаться инициировать диалог редактирования для поля в указанной ячейке.

Например:

grid.gotoCell(0, 0, false) // Will focus on first cell of first row
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...