keepScrollPositionOnPostBack конфликтует с методом фокуса textobox
У меня есть страница ASP.NET, где в web.config
Я добавил эту настройку:
<pages maintainScrollPositionOnPostBack="true">
Теперь на странице aspx у меня есть текстовое поле (txtTop) поверх формы, и после того, как пользователь прокручивает вниз (между ними много элементов управления), появляется кнопка.
Внутри этой кнопки Нажмите событие на сервере, я добавил этот код.
txtTop.focus();
Я ожидаю, что фокус должен быть на текстовом поле, а также на позиции прокрутки, которая будет указывать на текстовое поле. но этого не происходит. Основное внимание уделяется текстовому полю, но оно не отображается, я должен нажать какую-то клавишу, чтобы поместить текстовое поле в положение прокрутки.
Эти два свойства конфликтуют, и я не могу решить их.
К вашему сведению: нет обновлений панелей..
1 ответ
Я создал грязный взлом, чтобы решить эту проблему. Без setTimeout
он не работал и не был document.ready.
$(window).load(function () {
setTimeout(function () {
document.activeElement.scrollIntoView(true);
}, 1);
});